如何守护Flask应用程序?

| 我有一个使用Flask用Python编写的小应用程序。现在,我正在nohup下运行它,但是我想使其守护进程。这样做的正确方法是什么?     
已邀请:
        有几种部署Flask项目的方法。使用gunicorn部署可能是最简单的方法,请先安装gunicorn,然后:
gunicorn project:app --daemon
尽管您可能希望使用主管或类似性质的工具来监视黑胶粒(至少使用
--pid
,以便您可以轻松地重新加载/停止黑胶粒)。     
        如果您已经安装了主管,那么我认为gunicorn会有点多余。以下是一个flask.ini文件,可以将其放置在/etc/supervisord.d/中(然后\“ supervisorctl reload \”重新加载配置并启动该过程)。
command=/opt/flask/env0/bin/python /opt/flask/developer/FlaskWebServer.py
directory=/opt/flask
redirect_stderr=true
startsecs=5
autorestart=true
stdout_logfile=/opt/flask/flask.stdout.log
    
        如果您想对其进行监督并使其在重新启动后保持不变,则可以使用不朽 您可以这样称呼它: 不朽-l / var / log / your-app gunicorn project:app 或例如通过run.yml:
cmd: gunicorn project:app
cwd: /path/of/project
env:
    DEBUG: 1
    ENVIRONMENT: production
 log:
    file: /var/log/app.log
    age: 86400 # seconds
    num: 7     # int
    size: 1    # MegaBytes
    timestamp: true # will add timesamp to log
 stderr:
    file: /var/log/app-error.log
    age: 86400 # seconds
    num: 7     # int
    size: 1    # MegaBytes
    timestamp: true # will add timesamp to log
 user: www
有关不朽的更多信息:https://immortal.run/about/     
        我是一个运行systemd的运行中心,可用于我所有其他服务。 所以我在烧瓶应用程序中使用了相同的 使用我的所有Flask设置创建脚本sh
#!/bin/bash
# flask settings
export FLASK_APP=/some_path/my_flask_app.py
export FLASK_DEBUG=0

flask run --host=0.0.0.0 --port=80
使此脚本可执行   chmod + x path / of / my / script.sh 添加系统服务以调用此脚本   / etc / systemd / system / vim flask.service
[Unit]
Description = flask python command to do useful stuff

[Service]
ExecStart = path/of/my/script.sh

[Install]
WantedBy = multi-user.target
最后,在启动时启用它   systemctl启用flask.service 有关systemd的更多信息:https://www.tecmint.com/create-new-service-units-in-systemd/     

要回复问题请先登录注册