命令行部署
uwsgi --http :8001 --chdir /path/to/project --home=/path/to/env --module project.wsgi
--chdir=/path/to/project # 项目目录
--home=/path/to/env # 指定virtualenv 路径,如果没有可以去掉。
--module project.wsgi # project/wsgi.py 文件
通过uwsgi配置文件部署
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/root/project
# 指定项目的application
module=project.wsgi
#.env
home=/root/project/.env/
# 指定sock的文件路径
socket=/root/project/uwsgi.sock
# 进程个数
workers=5
pidfile=/root/project/uwsgi.pid
# 指定IP端口
http=0.0.0.0:8080
# 指定静态文件
# static-map=/root/project/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/root/project/uwsgi.log
启动、重启、停止
uWSGI 通过 xxx.ini 启动后会在相同目录下生成一个 xxx.pid 的文件,里面只有一行内容是 uWSGI 的主进程的进程号。
uWSGI 启动:
uwsgi --ini xxx.ini
uwsgi 重启:
uwsgi --reload xxx.pid
uwsgi 停止:
uwsgi --stop xxx.pid
如果不行,执行kill -9 xxx.pid