Ubuntu 16.04 не в состоянии запустить сценарий запуска, который работает в Ubuntu 14.04
Я знаю, что новая Ubuntu больше в пользу systemd
чем upstart
, но когда я иммигрирую мой сайт (python
+nginx
+uwsgi
) из Ubuntu 14.04 не удалось запустить скрипт 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 может нормально обслуживать веб-сайт в оболочке (я могу открыть веб-страницы из браузера).
uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi
Мой вопрос заключается в том, как заставить скрипт upstart работать должным образом в Ubuntu 16.04.
1 ответ
Я хотел бы создать системный сервис для /etc/systemd/system/uwsgi.service
, И отключить скрипт выскочки.
Может быть, вам нужно немного подправить скрипт сервиса, например, полный путь, 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