【问题标题】:Start a flask via systemd service通过 systemd 服务启动烧瓶
【发布时间】:2020-02-25 18:28:27
【问题描述】:

有一个systemd服务文件'/etc/systemd/system/flask-app.service:

[Unit]
Description="flask-app"
After=network.target

[Service]
User=root
WorkingDirectory=/root/FlaskApp/
Environment=/root/FlaskApp/flask-app/bin
ExecStart=/root/FlaskApp/flask-app/bin/flask run --host=0.0.0.0
Restart=on-failure

[Install]
WantedBy=multi-user.target

sudo service flask-app start 之后没有任何反应,systemctl status 不提供任何具体信息。 但是,当我通过控制台运行 ExecStart 命令 (/root/FlaskApp/flask-app/bin/flask run --host=0.0.0.0) 时,服务会启动。

附:我已经导出了变量 FLASK_APP=flask-app.py

附言我在 venv 创建的烧瓶应用。

【问题讨论】:

    标签: python ubuntu flask service systemd


    【解决方案1】:

    对于我的 Pi3,我使用了以下命令:

    • sudo systemctl start myscript.service(无需.service也可以启动)
    • sudo systemctl status myscript.service(检查发生了什么)
    • sudo systemctl enable myscript.service(如果一切正常,则允许自动启动)

    这里是https://www.raspberrypi.org/documentation/linux/usage/systemd.md更多细节。

    【讨论】:

      【解决方案2】:

      创建文件后,执行

      sudo systemctl deamon-reload
      

      您的服务文件中的一些更正。

      1. 如果您不打算为 ExecStart= 属性使用相对路径,则不需要 WorkingDirectory=/root/FlaskApp/。
      2. Environment 属性的使用与您正在执行的操作不同。 Check

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-26
        • 1970-01-01
        • 2015-01-01
        • 2017-06-24
        • 2022-07-08
        • 2016-11-29
        • 2021-01-08
        • 2017-06-06
        相关资源
        最近更新 更多