apache + docker + django部署

服务器上的启动脚本

#!/usr/bin/env bash
docker_name=ip-flow
project_path=/home/code/ip-flow
port=8001
image=xiaochonghao/django1.11.1:v2

echo "git tag" $1
echo "project path" ${project_path}
echo "docker name" ${docker_name}
echo "port" ${port}
echo "image" ${image}

cd ${project_path}
git pull
git checkout $1
echo "restart ip-flow service....."
echo "ensure old service start______________________________________"
docker ps
echo 'stop and rm old service'
echo "stop docker " ${docker_name}
docker stop ${docker_name}
echo "docker rm" ${docker_name}
docker rm ${docker_name}
echo "start new service"
docker run -d --name ${docker_name} -p ${port}:80 -v ${project_path}:/data/ip-flow ${image} /bin/sh -c 'sh /data/ip-flow/bin/run.sh test | pro;'

docker ps

docker容器执行的命令

#!/usr/bin/env bash
wsgi_name=wsgi_pro.py
if [ $# -ge 1 ]; then
    if [ $1 != 'pro' ] && [ $1 != 'pre' ] && [ $1 != 'dev' ] && [ $1 != 'test' ]; then
        echo 'usage: ./run_api.sh [pro|pre|dev|test]'
    fi
    if [ $1 == 'pre' ]; then
        wsgi_name=wsgi_pre.py
    fi
    if [ $1 == 'dev' ]; then
        wsgi_name=wsgi_dev.py
    fi
    if [ $1 == 'test' ]; then
        wsgi_name=wsgi_test.py
    fi
fi
cat >> /usr/local/apache2/conf/httpd.conf <<EOF
ServerName localhost:8001
LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
WSGIScriptAlias / /data/console-end/console-end/${wsgi_name}
WSGIPythonPath /data/console-end/console-end/
<Directory /data/console-end/console-end>
    <Files ${wsgi_name}>
        Require all granted
    </Files>
</Directory>
Alias /static/ /usr/local/lib/python2.7/site-packages/rest_framework_swagger/static/
<Directory /usr/local/lib/python2.7/site-packages/rest_framework_swagger/static>
    Require all granted
</Directory>
EOF
service httpd start

chmod -R 777 /data/console-end/logs/

tail -f /var/log/messages
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,619评论 15 147
  • 一 、什么是 Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国...
    Blazzer阅读 3,175评论 0 13
  • 不知道怎样才是喜欢一个人 今天问朋友这个问题 被同学笑死 活这么大真的没有情动过啊 哎 感觉真的得孤独终老 不会主...
    愚人自娱126阅读 527评论 0 0
  • 在那动荡而又纷乱复杂的时代里,一颗颗璀璨的明珠悄然升起。细读《春风十里不如你-在民国遇见最好的爱情》,我踏进林...
    我大哥的小跟班阅读 402评论 0 4
  • 不知道是不是每个人都有这么一种时候,当你处于迷茫的那段时间,脑袋里全是一层你所熟悉的事与物,总是在那里想啊...
    生如长征阅读 204评论 0 0