systemd 管理uwsgi
为什么使用systemd
systemd是系统自带的服务管理工具,无需安装,方便使用
使用systemd管理uwsgi
创建uwsgi.service文件 内容如下:
[Unit]
Description=uWSGI Snny service
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/www/wwwroot/snny
ExecStart=/usr/bin/uwsgi --ini uwsgi.ini
ExecStop=/usr/bin/uwsgi --stop uwsgi.pid
ExecReload=/usr/bin/uwsgi --reload uwsgi.pid
Restart=always
KillSignal=SIGQUIT
NotifyAccess=all
[Install]
WantedBy=multi-user.target
将uwsgi.serive 文件放到/etc/systemd/system/目录下
uwsgi.ini配置文件注意事项
你遇到的 Active: failed (Result: start-limit) 问题,大概率是因为 uWSGI 配置中使用了 daemonize 参数,导致 systemd 误判进程已退出,从而反复重启,最终触发 start-limit 限制
打开uwsgi.ini 把
daemonize = /path/to/uwsgi.log
修改为
logto = /path/to/uwsgi.log
注意:不要使用 daemonize,否则 systemd 无法追踪主进程 删掉 daemonize,用 logto,让 uWSGI 在前台运行,systemd 才能正常管理生命周期
运行
systemctl daemon-reload
重新加载配置
启动服务
systemctl start uwsgi
检查服务状态
systemctl status uwsgi
设置开机运行
systemctl enable uwsgi
文档信息
版权声明:可自由转载(请注明转载出处)-非商用-非衍生
发表时间:2025年7月18日 14:13