要使用 Gunicorn 启动 Flask 服务并通过 Supervisor 管理它,你可以按照以下步骤操作:
1. 安装依赖
确保已经安装 Flask、Gunicorn 和 Supervisor:
bash
pip install flask gunicorn
sudo apt install supervisor
2. 创建 Flask 应用
在项目目录中创建一个 app.py
文件作为 Flask 应用的入口文件:
python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
if __name__ == '__main__':
app.run()
3. 使用 Gunicorn 启动 Flask 服务
首先在命令行测试 Gunicorn 能否正常运行:
bash
gunicorn -w 4 -b 0.0.0.0:8000 app:app
这里:
-w 4
表示使用 4 个工作进程。-b 0.0.0.0:8000
表示在 0.0.0.0 上的 8000 端口上监听。
4. 配置 Supervisor 管理 Gunicorn
-
创建一个 Supervisor 配置文件(如
/etc/supervisor/conf.d/flask_app.conf
):ini[program:flask_app] command=/usr/local/bin/gunicorn -w 4 -b 0.0.0.0:8000 app:app directory=/path/to/your/app user=your_user_name autostart=true autorestart=true stderr_logfile=/var/log/flask_app.err.log stdout_logfile=/var/log/flask_app.out.log
替换:
/path/to/your/app
为你的 Flask 应用路径。your_user_name
为运行此程序的用户。
-
更新并启动 Supervisor 配置:
bashsudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start flask_app
5. 常用 Supervisor 命令
-
查看状态 :
bashsudo supervisorctl status
-
重启服务 :
bashsudo supervisorctl restart flask_app
-
停止服务 :
bashsudo supervisorctl stop flask_app
这样,Flask 服务就可以通过 Gunicorn 启动并由 Supervisor 管理,确保其在异常退出后会自动重启。