django部署nginx wsg

部署上线流程

nginx服务器一台
django服务器多台

代理的服务项目每个django服务器上都要有

在nginx服务器安装nginx并配置好 详见Nginx.pdf

在每个django服务器上安装uwsgi,并且在项目中新建uwsgi.ini 文件
[uwsgi]
socket=0.0.0.0:8888 用作代理服务器的时候使用
#http=0.0.0.0:8888 用作本地服务器的时候使用
chdir=/home/hero/project 指定项目目录
wsgi-file=project/wsgi.py 指定wsgi文件
processes=2 启动进程数,最好和cpu核心数一样
threads=2 线程
master=True 代理,管理者
pidfile=uwsgi.pid 进程号存放文件
daemonize=uwsgi.log 日志存放文件

1.用uwsgi本地跑项目
uwsgi中注释socket,打开http
运行uwsgi服务器 uwsgi --ini uwsgi.ini
浏览器窗口输入对应django服务器ip 和端口就可以访问项目

2.反向代理用nginx服务器跑一台django服务器,不做负载均衡
uwsgi中打开socket,注释http
运行uwsgi服务器 uwsgi --ini uwsgi.ini
在nginx服务器的/usr/local/ngnix/conf/nginx.conf中的server中
location / {
#代理服务器的runserver服务器
#proxy_pass http://47.100.42.251:8888;
#proxy_set_header X-real-ip $remote_addr;
#proxy_set_header Host $http_host;

          #代理一台服务器
          include uwsgi_params;
          uwsgi_pass 47.100.42.251:8888;   这里的ip端口和项目中uwsgi.ini中的socket要一样

     }

3.反向代理用nginx服务器跑多台django服务器,负载均衡
在nginx服务器的/usr/local/ngnix/conf/nginx.conf中的server上面

upstream mjh{           这里的mjh是给负载均衡起的名字
    server 47.100.42.251:8888 weight=1;
    server 47.94.234.14:8888 weight=1;
    server 47.95.3.141:8888 weight=1 max_fails=3 fail_timeout=300;
    }

之后再server的location中换成
	#代理多台服务器
         include uwsgi_params;
         uwsgi_pass mjh;  这里是上面负载均衡的名字

4.反向代理用nginx服务器跑多台django服务器,并把静态文件放到nginx服务器上

在nginx服务器的/usr/local/ngnix/conf/nginx.conf中的server下面
location /static {
        alias /var/www/myApp/static/; 这里var是服务器根目录的文件夹,一般用来存一些修改经常改变的文件
				myApp最好换成工程的名字
    }

在nginx服务器上新建/var/www/myApp/目录层级

在一台django服务器的项目的setting中的静态文件中加入
STATIC_ROOT='/home/hero/static'这里是一个目录
这是为了把工程的所有静态文件导出到这个目录下
一般自己copy会去缺少admin等相关的静态文件
然后把导出的static文件夹  
发送到nginx服务器的指定目录下   scp -r static/ root@47.94.252.144:/var/www/myApp/
重启nginx服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值