现在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 80; server_name localhost; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;//这个要和wsgi的ini配置保持一致
}
}
如果不行,加入以下代码在http里面 也是nginx.conf
large_client_header_buffers 4 16k; client_max_body_size 300m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
设置完成后,在终端运行:
uwsgi --ini /etc/hello.ini
service nginx restart
输入查看结果
从开始到最终成功 花费了2天时间
大部分的原因是centos7.3下 的python版本的问题 默认python的版本是2.7的 要玩转最新的django2.0 肯定需要python3.6.5的版本
这个问题折腾了好久,还有一个问题就是uwsgi运行的.ini的配置问题
思路
先玩通 uwsgi 可运行django 你就成功了一半
剩下的nginx 反向代理的问题 就是一个配置 比较简单