uwsgi 配置
代码语言:javascript复制[uwsgi]
# 监听端口
socket = 127.0.0.1:9090
#socket = 127.0.0.1:3031
# 运行状态
#stats = 127.0.0.1:9191
# 工作路径
chdir = /root/yzq/djangos/blog
# django wsgi 路径
wsgi-file = /root/yzq/djangos/blog/joyoo/wsgi.py
# module = Joyo.settings
# python 虚拟环境路径
virtualenv = /root/.virtualenvs/joyoo
# uwsig pid 号
pidfile = /root/yzq/running/uwsgi_joyoo.pid
# 重启的时候使用的 pid 号
touch-reload = /root/yzq/running/uwsgi_joyoo.pid
# post 请求超过 字节 就缓存值磁盘
post-buffering = 8192
# 缓冲区大小
buffer-size = 32768
# 设置进程 processes 和 workers 一样的意思
# processes = 2
workers = 2
# 每个进场下面的线程数
threads = 4
# 未使用 systemd 时日志文件,会一直保持在后台,使用 docker 应该使用 logto
# daemonize = /root/yzq/logs/uwsgi_joyoo.log
# 使用 systemd 时 日志文件
logto = /root/yzq/logs/uwsgi_joyoo.log
# 设置平滑启动 (处理完接受到的请求) 的等待时间(秒)
reload-mercy = 10
# 设置工作进程使用虚拟内存超过 MB 就回收重启
reload-on-as = 1024
# python 文件修改后自动重启
py-autoreload = 1
# 设置一个请求超时(秒),就丢弃掉
harakiri = 60
# 当一个请求被 harakiri 掉,输出一条日志
harakiri-verbose = true
添加 uwsgi.service 启动文件
代码语言:javascript复制sudo vim /etc/systemd/system/uwsgi.service
代码语言:javascript复制[Unit]
Description=uwsgi
After=network.target
[Service]
Type=notify
ExecStart=/root/.virtualenvs/joyoo/bin/uwsgi --ini /root/yzq/djangos/blog/blog_uwsgi.ini
ExecReload=/root/.virtualenvs/joyoo/bin/uwsgi --reload /root/yzq/running/uwsgi_joyoo.pid
ExecStop=/root/.virtualenvs/joyoo/bin/uwsgi --stop /root/yzq/running/uwsgi_joyoo.pid
Restart=always
[Install]
WantedBy=multi-user.target
添加到服务
代码语言:javascript复制# 重载系统服务,因添加了 uwsgi.server
sudo systemctl daemon-reload
# 启动 uwsgi
sudo systemctl start uwsgi
# 停止 uwsgi
sudo systemctl stop uwsgi
# 查看 uwsgi 状态
sudo systemctl status uwsgi
# 设置开机启动
sudo systemctl enable uwsgi
# 取消开机启动
sudo systemctl disable uwsgi