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目录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容