Gunicorn 命令详解

对话信息

  • 对话时间: 2025年11月12日(星期三)
  • 对话主题: Gunicorn 命令行参数解释
  • 参与方: 用户提问,DeepSeek 助手回答

对话内容

用户问题

gunicorn -w 4 -b 0.0.0.0:8080 webapp:app这行代码是什么意思

助手回答

这是一个在命令行中运行 Gunicorn(一个 Python WSGI HTTP 服务器)的命令,用于部署 Python Web 应用。以下是详细的参数解释:

命令结构

gunicorn -w 4 -b 0.0.0.0:8080 webapp:app

参数分解

  1. gunicorn
  2. Gunicorn("Green Unicorn")服务器的启动命令
  3. 一个高性能的 Python WSGI HTTP 服务器,用于部署 Flask、Django 等 Web 应用

  4. -w 4

  5. -w--workers 的简写
  6. 4 指定工作进程的数量
  7. 启动 4 个 worker 进程处理并发请求,充分利用多核 CPU
  8. 建议 worker 数量公式:(2 × CPU核心数) + 1

  9. -b 0.0.0.0:8080

  10. -b--bind 的简写
  11. 0.0.0.0:8080 指定服务器绑定的地址和端口
    • 0.0.0.0:监听所有可用网络接口(不仅限于本地 localhost)
    • :8080:服务运行在 8080 端口
  12. 应用可通过 http://<服务器IP>:8080 访问

  13. webapp:app

  14. 指定 Python Web 应用的位置
  15. webapp:Python 模块名(如 webapp.py 文件)
  16. app:模块中定义的 WSGI 可调用对象名
    • Flask 应用中通常是 app = Flask(__name__) 创建的 app 对象

命令总结

使用 Gunicorn 启动一个 Python Web 应用,该应用位于 webapp.py 文件中,名为 app 的 WSGI 对象。服务器将绑定到所有网络接口的 8080 端口,并使用 4 个工作进程处理请求。

示例说明

假设有 Flask 应用 webapp.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

运行命令后: - Flask 应用在 Gunicorn 服务器中运行 - 可通过 http://服务器IP:8080 访问 - 使用 4 个进程并发处理请求

文档信息

  • 整理日期: 2025年11月12日
  • 整理人: DeepSeek 助手
  • 格式: Markdown
  • 用途: 技术参考文档