Ubuntu 16.04 无法启动在 Ubuntu 14.04 中有效的 upstart 脚本

Ubuntu 16.04 无法启动在 Ubuntu 14.04 中有效的 upstart 脚本

systemd我知道新版 Ubuntu比更受欢迎upstart,但是当我从 Ubuntu 14.04 迁移我的网站(python++ nginx)时uwsgi,upstart 脚本在系统启动阶段启动失败。

upstart 脚本与uwsgi 文档

# simple uWSGI script

description "uwsgi tiny instance"
start on runlevel [2345]
stop on runlevel [06]

respawn

exec uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi

我确信 nginx 服务器配置正确,并且 upstart 脚本中的命令(如下所示)可以在 shell 中正常提供网站服务(我可以从浏览器打开网页)。

uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi

我的问题是如何让 upstart 脚本在 Ubuntu 16.04 中正常工作。

答案1

我将创建一个 systemd 服务/etc/systemd/system/uwsgi.service。并禁用 upstart 脚本。

也许您需要稍微调整一下服务脚本,比如完整路径,user以及After

[Unit]
Description=uwsgi
After=network.target

[Service]
PIDFile=/run/uwsgi.pid
ExecStart=/usr/bin/uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi
User=www-data
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

相关内容