Файл службы Python Flask не запускается - PullRequest
0 голосов
/ 31 марта 2019

Я написал небольшое приложение.Приложение прекрасно работает.Однако я пытаюсь создать служебный файл, и у меня возникают проблемы.Запуск команды sudo uwsgi uwsgi.ini работает.Приложение запускается.Я создал служебный файл.

[Unit]
Description=uWsgi instance to start relay site
After=network.target

[Service]
User=pi
Group=pi
WorkingDirectory=/var/www/relay
ExecStart=sudo uwsgi uwsgi.ini

[Install]
WantedBy=multi-user.target

Ошибки служебного файла при попытке его запустить.

Loaded: error (Reason: Invalid argument)
relay.service: Unit entered failed state.
relay.service: Failed with result 'exit-code'.
[/etc/systemd/system/relay.service:11] Executable path is not absolute, ignoring: uwsgi uwsgi.ini
relay.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
[/etc/systemd/system/relay.service:9] Executable path is not absolute, ignoring: sudo uwsgi uwsgi.ini
relay.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.

1 Ответ

1 голос
/ 31 марта 2019

Там написано Executable path is not absolute, потому что исполняемый файл sudo, а не /usr/bin/sudo. Systemd нужен полный путь, потому что он не использует оболочку, как при использовании терминала.

Кроме того, если вы собираетесь набрать sudo команду, то вместо этого вы можете использовать root в качестве пользователя (который используется по умолчанию). Примерно так должно работать:

[Service]
WorkingDirectory=/var/www/relay
ExecStart=/absolute/path/to/uwsgi uwsgi.ini

Вы можете запустить which uwsgi, чтобы найти абсолютный путь к uwsgi.

...