乐趣区

centos7 配置 uwsgi 系统服务(systemd)

背景生产环境中采用 nginx + uwsgi + django 来部署 web 服务,这里需要实现 uwsgi 的启动和停止,简单的处理方式可以直接在命令行中启动和 kill 掉 uwsgi 服务,但为了更安全、方便的管理 uwsgi 服务,配置 uwsgi 到 systemd 服务中,同时实现开启自启的功能;另,鉴于 supervisor 不支持 python3, 没采用 supervisor 来管理 uwsgi 服务;
具体配置方法如下:
step1. 创建配置文件
/etc/systemd/system/server_uwsgi.service

step2. 填入以下内容
[Unit]
Description=HTTP Interface Server
After=syslog.target

[Service]
KillSignal=SIGQUIT
ExecStart=/usr/bin/uwsgi –ini /path/uwsgi.ini
Restart=always
Type=notify
NotifyAccess=all
StandardError=syslog

[Install]
WantedBy=multi-user.target

step3. 将该服务加入到 systemd 中
systemctl enable /etc/systemd/system/server_uwsgi.service

然后就可以通过 systemctl 来控制服务的启停
systemctl stop server_uwsgi.service 关闭 uwsgi 服务 systemctl start server_uwsgi.service 开启 uwsgi 服务 systemctl restart server_uwsgi.service 重启 uwsgi 服务
注意事项:
如果 uwsgi 配置文件中配置了 daemonize=/path/uwsgi.log (uwsgi 服务以守护进程运行)
会导致 sytemctl 启动时多次重启而导致启动失败
需改为 logto=/path/uwsgi.log

退出移动版