centos7.3部署django用uwsgi和nginx[亲测可用]

时间:2022-06-10 13:07:50

现在nginx

nginx version: nginx/1.10.2

uwsgi 2.0.17

django2.0.5

都已经完成完毕,那么开始

uwsgi 配置

uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建hello.ini,添加如下配置:

[uwsgi]
socket =127.0.0.1:9090 //用socket 就是这个折腾了我很长的时间
module = hello.wsgi //这个是hello目录下的wsgi.py 不用.py的后缀,这个也折腾我很久 会自动使用hello目录下的wsgi.py文件
master=true
pidfile=/var/run/uwsgihello.pid
daemonize=/var/www/python/hello.log //加入这个参数,就可以在后台运行,运行的结果到这个日志文件查看即可

Nginx 配置

找到nginx的安装目录(如:/usr/local/nginx/),打开conf/nginx.conf文件,修改server配置:

server {
listen ;
server_name localhost; location / {

      include uwsgi_params;
      uwsgi_pass 127.0.0.1:9090;//这个要和wsgi的ini配置保持一致

        }
}

如果不行,加入以下代码在http里面 也是nginx.conf

    large_client_header_buffers  16k;
client_max_body_size 300m;
client_body_buffer_size 128k;
proxy_connect_timeout ;
proxy_read_timeout ;
proxy_send_timeout ;
proxy_buffer_size 64k;
proxy_buffers 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

设置完成后,在终端运行:

uwsgi --ini /etc/hello.ini
service nginx restart

输入查看结果

centos7.3部署django用uwsgi和nginx[亲测可用]

从开始到最终成功 花费了2天时间

大部分的原因是centos7.3下 的python版本的问题  默认python的版本是2.7的   要玩转最新的django2.0 肯定需要python3.6.5的版本

这个问题折腾了好久,还有一个问题就是uwsgi运行的.ini的配置问题

思路

先玩通 uwsgi 可运行django 你就成功了一半

剩下的nginx 反向代理的问题  就是一个配置  比较简单