django之uWSGI配置 +Nginx

时间:2021-11-14 12:08:03
参考文档
安装:
pip install uwsgi
启动命令:
方法一、直接命令启动
/home/zabbix/application/python/bin/uwsgi --socket 0.0.0.0:9090 --chdir /home/zabbix/application/websugar --wsgi-file /home/zabbix/application/websugar/websugar/wsgi.py --master --processes 4 --threads 2 --stats 0.0.0.0:9191
方法二、配置文件方法启动
配置文件内容:
[uwsgi]
chdir=/path/to/your/project
module=mysite.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/yourproject.log
使用配置文件启动命令:
uwsgi --ini uwsgi.ini

参数介绍:

uwsgi
--chdir=/path/to/your/project \ #项目目录(manage.py 所在目录)
--module=mysite.wsgi:application \ #application为项目下的app
--env DJANGO_SETTINGS_MODULE=mysite.settings \ #配置项目的配置文件
--master #作为主进程运行
--pidfile=/tmp/project-master.pid \ #指定进程文件
--socket=127.0.0.1:49152 \ #配置监听端口和地址 也可以指定成文件如--socket=/tmp/zqxt.sock
--processes=5 \ #worker进程数
--threads #每个进程的线程数
--uid=1000 --gid=2000 \ #如果是root用户,可以指定运行用户
--harakiri=20 \ #请求超时20秒则重启进程
--max-requests=5000 \ #处理5000请求后重启进程
--vacuum \ #退出时清空环境
--home=/path/to/virtual/env \ #python 环境路径
--daemonize=/var/log/uwsgi/yourproject.log #项目日志文件

  

  

django settings.py配置修改:
DEBUG = False
ALLOWED_HOSTS = ['*']
nginx配置:
        location /static {
root static;
}
location / {
uwsgi_pass 127.0.0.1:9090; #指定监听地址和端口时使用,如uwsgi指定的是文件则使用uwsgi_pass  unix:///tmp/zqxt.sock;
include uwsgi_params;
}