使用 Gunicorn 启动 Flask 服务通常可以提升 Flask 应用的性能。以下是通过 Gunicorn 启动 Flask 服务的步骤:
1. 安装依赖
首先,确保已安装 Flask 和 Gunicorn:
bash
pip install flask gunicorn
2. 创建 Flask 应用
创建一个简单的 Flask 应用,例如 app.py
:
python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run()
3. 启动 Gunicorn 服务
在终端中使用 Gunicorn 启动 Flask 应用:
bash
gunicorn -w 4 -b 0.0.0.0:8000 app:app
解释:
-w 4
:表示使用 4 个 worker 进程。-b 0.0.0.0:8000
:表示绑定到所有可用的 IP 地址,端口号为 8000。app:app
:第一个app
是指文件名(app.py
),第二个app
是 Flask 实例名。
4. 配置生产环境(可选)
在生产环境中,可以使用配置文件或环境变量来优化 Gunicorn。创建一个 Gunicorn 配置文件,如 gunicorn_config.py
:
python
bind = "0.0.0.0:8000"
workers = 4
timeout = 30
然后使用配置文件启动:
bash
gunicorn -c gunicorn_config.py app:app
5. 使用 Systemd 管理 Gunicorn(可选)
在生产服务器上,使用 Systemd 管理 Gunicorn 服务可以提高稳定性。创建一个 Systemd 服务文件 /etc/systemd/system/flask_app.service
:
ini
[Unit]
Description=Gunicorn instance to serve Flask app
After=network.target
[Service]
User=your_user
Group=your_group
WorkingDirectory=/path/to/your/app
ExecStart=/usr/local/bin/gunicorn -w 4 -b 0.0.0.0:8000 app:app
[Install]
WantedBy=multi-user.target
然后启动和启用服务:
bash
sudo systemctl start flask_app
sudo systemctl enable flask_app
这就是使用 Gunicorn 启动 Flask 服务的基本方法!