我通过发出以下命令在我的 RPi 上成功运行了 Flask 应用程序
export FLASK_APP=/opt/fzwk-access-source/app.py && flask run --host 0.0.0.0
现在,我的下一个目标自然是在启动 RPi 时运行 Flask 应用程序。为此,我创建了服务 /etc/systemd/system/fzwk-access.service
,如下所示:
[Unit]
Description=fzwk-access
After=network.target
[Service]
User=root
Group=root
Type=forking
WorkingDirectory=/opt/fzwk-access-source
ExecStart=/bin/bash -c "export FLASK_APP=/opt/fzwk-access-source/app.py && flask run --host 0.0.0.0"
[Install]
WantedBy=default.target
ls -la
为我提供了以下信息:
...
4 drwxr-xr-x 2 root root 4096 Dec 2 12:41 dhcpcd.service.d
0 lrwxrwxrwx 1 root root 34 Dec 2 12:41 dhcpcd5.service -> /lib/systemd/system/dhcpcd.service
4 -rwxr-xr-x 1 root root 312 Mar 1 17:12 fzwk-access.service
4 drwxr-xr-x 2 root root 4096 Dec 2 12:37 getty.target.wants
4 drwxr-xr-x 2 root root 4096 Dec 2 12:39 getty@tty1.service.d
4 drwxr-xr-x 2 root root 4096 Dec 2 12:40 halt.target.wants
4 drwxr-xr-x 2 root root 4096 Feb 18 07:38 multi-user.target.wants
...
有了这个,我可以用命令启动服务
sudo systemctl start fzwk-access
成功。我因此启用了该服务
sudo systemctl enable fzwk-access
我现在的期望是重启后服务成功启动,但事实并非如此。
sudo systemctl status fzwk-access
显示以下内容:
● fzwk-access.service - fzwk-access
Loaded: loaded (/etc/systemd/system/fzwk-access.service; enabled; vendor preset: enabled)
Active: inactive (dead)
显然,我在这里遗漏了一些东西——我无法弄清楚它是什么......