uWSGI 托管 Django
安装
pip install uwsgi
配置并启动用于 Django 的 uWSGI 服务器
--module=mysite.wsgi:application \
--env DJANGO_SETTINGS_MODULE=mysite.settings \
--master --pidfile=/tmp/project-master.pid \
--socket=127.0.0.1:49152 \ # can also be a file
--processes=5 \ # number of worker processes
--uid=1000 --gid=2000 \ # if root, uwsgi can drop privileges
--harakiri=20 \ # respawn processes taking more than 20 seconds
--max-requests=5000 \ # respawn processes after serving 5000 requests
--vacuum \ # clear environment on exit
--home=/path/to/virtual/env \ # optional path to a virtual environment
--daemonize=/var/log/uwsgi/yourproject.log # background the process
Django 指定的参数如下:
chdir
:需要包含于 Python 的导入路径的目录的路径——例如,包含mysite
包的目录。module
:要使用的 WSGI 模块——可能是startproject
创建的mysite.wsgi
的模块。env
:至少要包括DJANGO_SETTINGS_MODULE
。home
: 可选的路径,指向你工程的虚拟环境。
示例 ini 配置文件:
[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
http=8000
示例 ini 配置文件语法:
uwsgi --ini uwsgi.ini
uwsgi后台运行/背后运行/守护运行的方法
uwsgi -d --ini uwsgi.ini
加上 -d 就达到目的了。
后台杀掉uwsgi进程
pkill -f uwsgi -9