flask服务通过gunicorn启动

使用 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 服务的基本方法!

相关推荐
胡少侠76 天前
Gunicorn启动Django服务
django·sqlite·gunicorn
Addery_1 个月前
【Flask+Gunicorn+Nginx】部署目标检测模型API完整解决方案
nginx·flask·gunicorn
skywalk81631 个月前
三周精通FastAPI:42 手动运行服务器 - Uvicorn & Gunicorn with Uvicorn
运维·服务器·fastapi·gunicorn
Magicapprentice1 个月前
gunicorn 和 uvicorn部署fastapi 或者flask
flask·fastapi·gunicorn
文军的烹饪实验室2 个月前
flask服务通过gunicorn启动,supervised管理服务
python·flask·gunicorn
林戈的IT生涯2 个月前
FastAPI框架使用枚举来型来限定参数、FastApi框架隐藏没多大意义的Schemes模型部分内容以及常见的WSGI服务器Gunicorn、uWSGI了解
fastapi·gunicorn·枚举来型·隐藏schemes模型·wsgi服务器
zybsjn3 个月前
使用 Nginx 和 Gunicorn 部署 Flask 项目详细教程
nginx·flask·gunicorn
吃面不喝汤663 个月前
深入探讨 Flask、Gunicorn、Gevent 与 RecursionError:事件循环与 Monkey Patching 的正确使用
python·flask·gunicorn
传而习乎3 个月前
【Django】django自带后台管理系统样式错乱,Django使用gunicorn服务器时,Django admin无法加载静态文件
django·gunicorn