Django+uwsgi+nginx 配置示例

环境信息

  • centos 7
  • Python 3.10
  • Django 4.0
  • uwsgi 2.0.20
  • nginx 1.20.1
  • venv

    示例中虚拟环境位于 /opt/vb/, Django工程目录位于 /opt/vb/vb/ , 工程名称为vb

uwsgi配置文件 (uwsgi.ini) 配置示例

[uwsgi]
socket = 127.0.0.1:8081
chdir = /opt/vb/vb
wsgi-file = ./vb/wsgi.py
master = true //主进程
vhost = true //多站模式
no-site = true //多站模式时不设置入口模块和文件
workers = 2 //子进程数
reload-mercy = 10
vacuum = true //退出、重启时清理文件
max-requests = 1000
limit-as = 512
buffer-size = 30000
pidfile = uwsgi-8081.pid
daemonize = uwsgi-8081.log
pythonpath = /opt/vb/env/lib/python3.10/site-packages/

nginx 配置文件示例

server {
listen 80;
server_name csms.tech;

location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8081;
uwsgi_param UWSGI_SCRIPT vb.wsgi;
uwsgi_param UWSGI_CHDIR /opt/vb/vb;
index index.html index.htm;
}
location /static/ {
alias /opt/vb/vb/staticCollects/;
}
access_log log/uwsgi.access.log main;
error_log log/uwsgi.error.log;
}

参考链接