Gunicorn

在编写好 python 的 web 程序后,可使用 Gunicorn 进行部署,以便快速实现并发目标,避免重复造轮子;

运行

使用命令

1
gunicorn [OPTIONS] [WSGI_APP]

WSGI_APP 的完整格式为:$(MODULE_NAME):$(VARIABLE_NAME)

MODULE_NAME 指待载入运行的文件或模块名称;可以是一个相对路径;

VARIABLE_NAME 指文件中的指向 WSGI 接口的变量名称;例如 app = Flask() 中的 app;也可以是一个返回 app 的函数调用;例如:”app:create_app()”

如果已经在配置文件中指定了 WSGI_APP,则命令行中的此参数是可选的;

常用参数

-c 指定配置文件的路径

-b 绑定的 socket,格式可以为 $(HOST), $(HOST):$(PORT), fd://$(FD), unix:$(PATH), $(IP_ADDRESS)

配置

Gunicorn 会从五个地方读取配置信息

  • 环境变量;
  • Web 框架中的特定配置文件;
  • 指定目录下(默认当前目录)的 gunicorn.conf.py 文件(会覆盖框架配置文件的值)
  • 通过命令行参数传递给环境变量 GUNICORN_CMD_ARGS 的值;
  • 命令行参数;

命令行

命令行参数的优先级最高,它会覆盖其他方式的配置信息;但不是所有配置项都可以使用命令行进行设置;

配置文件

配置文件需要是以 .py 为后缀的 python 文件;它可以是只读的;设置配置项时,只需要在文件中定义相应的变量名称并赋值即可;

1
2
bind = "127.0.0.1:8000"
workers = 2

Gunicorn
https://ccw1078.github.io/2020/08/19/Gnicorn/
作者
ccw
发布于
2020年8月19日
许可协议