Python Flask Service文件无法启动

问题描述 投票:0回答:1

我写了一个小应用程序。该应用程序很棒。但是,我正在尝试创建一个服务文件,我遇到了问题。运行命令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.
linux python-3.x flask raspberry-pi uwsgi
1个回答
1
投票

它说Executable path is not absolute因为可执行文件是sudo而不是/usr/bin/sudo。 Systemd需要完整路径,因为它不像您使用终端时那样使用shell。

此外,如果您要使用sudo命令,那么您也可以使用root作为用户(这是默认设置)。这样的事情应该有效:

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

你可以运行which uwsgi来找到uwsgi的绝对路径。

© www.soinside.com 2019 - 2024. All rights reserved.