你如何守护Flask应用程序?

Jam*_*mes 25 python flask

我有一个使用Flask用Python编写的小应用程序.现在我在nohup下运行它,但我想要守护它.这样做的正确方法是什么?

zee*_*kay 32

有几种方法可以部署Flask项目.使用gunicorn部署可能是最简单的安装gunicorn然后:

gunicorn project:app --daemon
Run Code Online (Sandbox Code Playgroud)

虽然你可能想使用主管或那种性质的东西来监控炮弹(至少使用--pid这样你可以轻松地重新加载/停止炮弹).


Ves*_*5fr 7

我正在运行 centos 和 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
Run Code Online (Sandbox Code Playgroud)

使该脚本可执行

chmod +x 路径/of/my/script.sh

添加一个systemd服务来调用此脚本

/etc/systemd/system/
vimflask.service

[Unit]
Description = flask python command to do useful stuff

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

[Install]
WantedBy = multi-user.target
Run Code Online (Sandbox Code Playgroud)

最后,在启动时启用它

systemctl 启用flask.service

有关 systemd 的更多信息:https ://www.howtoing.com/create-new-service-units-in-systemd/