Nginx+uWSGI+Django问题汇总

配置生产环境

参考:http://doc.okbase.net/qq_38111600/archive/275608.html

参考:https://blog.csdn.net/c465869935/article/details/53242126/


可以参考的一个uWSGI配置样板

[uwsgi]

socket = 127.0.0.1:9001

chdir=/media/root/kali/myproject/Ppython/django/mysite

#chmod-socket=664

master=true

processes=2

threads=2

module=mysite.wsgi

pidfile=/var/run/uwsgi.pid

max-requests=5000

uid=nginx

gid=nginx

#stats=127.0.0.1:9002

vacuum=true

daemonize = /var/log/nginx/uwsgi.log


问题1

python2和python3同时存在时,注意使用pip2、pip3来安装uwsgi时,容易造成/usr/bin/uwsgi文件被最后安装的版本覆盖,这样会使得版本混乱。

问题2

uwsgi.ini文件的配置内容应参考官网指导,因为配置文件的问题,曾出现过以下报错:16 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:9001", host: "localhost"

配置Mysql时

pip3 install mysqlclient 出现 OSError: mysql_config not found  或者 ModuleNotFoundError: No module named 'MySQLdb'

apt-get install libmysqlclient-dev




注意事项

nginx.conf中应将动态请求交由uWSGI进程处理,二者端口对应

对于静态请求,python3 manage.py collectstatic 可以将需要的静态文件移动至django.settings中定义的STATIC_ROOT目录

你可能感兴趣的:(Nginx+uWSGI+Django问题汇总)