docker部署django+uwsgi+nginx

22 篇文章 0 订阅
8 篇文章 0 订阅

运行一个centos7镜像(没有这个镜像回去hub上下载,优先使用本地镜像)的容器asimo_web(–name), 将容器的80端口映射到宿主机的3000端口

docker  run -p 3000:80   --name  asimov_web  centos:7

查看运行中的容器

[root@asimov ~]# docker  ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
24e4e4c517b0        centos:7            "/bin/bash"         11 days ago         Up 21 hours         0.0.0.0:3000->80/tcp   asimov_web

进入容器

[root@asimov ~]# docker  exec -i  -t  asimov_web  /bin/bash

剩下的和服务器手动部署一样,我全在一个docker里操作了,也可以分好几个镜像和容器分别处理,ex: nginx, 数据卷,应用程序

安装nginx

[root@24e4e4c517b0 ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

[root@24e4e4c517b0 ~]# yum intsall  nginx

将宿主机的应用程序copy到容器中

[root@asimov ~]# docker  cp  -r  Bas  asimov_web

将anaconda3 _python的虚拟环境copy到容器中(或在容器中安装anaconda3)

[root@asimov ~]# docker  cp anaconda3  asimov_web:/root

安装项目依赖

pip install -r requirements.txt

安装uwsgi

pip  install  uwsgi 

配置uwsgi

[uwsgi]

socket=127.0.0.1:9999
#http=:80

chdir=/root/Bas

module=Bas.wsgi

master=true

wsgi-file=/root/Bas/wsgi.py

processes=4

home = /root/anaconda3/envs/python3

daemonize =/root/Bas/uwsgi.log

配nginx

[root@24e4e4c517b0 Bas]# cat  /etc/nginx/conf.d/default.conf 
upstream Bas{
   server 127.0.0.1:9999;
}

server {
    listen  80     ;
    server_name  ip;

    location / {
        uwsgi_pass    Bas;
        include       /etc/nginx/uwsgi_params;
    }

启动uwsgi

uwsgi  uwsgi.ini

killall

yum install psmisc

每修改一次应用程序需要重启uwsgi和nginx

killall  uwsgi
uwsgi  uwsgi.ini

启动nginx

nginx            启动
nginx  -s  reload 重启
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值