使用 Gunicorn 设置应用程序 URL 前缀
Setting application URL prefix with Gunicorn
由于多进程池支持,我目前正在将基于 Pyramid WSGI 的应用程序从 Waitress Web 服务器迁移到 Gunicorn Web 服务器。
目前,Waitress 正在为应用程序提供服务:
from waitress import serve
serve(app,
host='127.0.0.1',
trusted_proxy="127.0.0.1",
threads=32,
port=port,
trusted_proxy_headers="forwarded",
url_scheme=scheme, # HTTPS
url_prefix='/api')
现在,我想用 Gunicorn 提供相同的应用程序。我设法在 Gunicorn 上找到了所有匹配的选项,但没有 url_prefix
。设置应用程序 URL 前缀的 Gunicorn 等效项是什么(我认为这有时也称为应用程序根目录)?
可以在 Gunicorn 中使用 SCRIPT_NAME 环境变量来配置 WSGI 应用程序根。
这是一个例子:
# name is for Datadog agent
# bind matches one in Caddyfile config
# give enough worker processes, threads will have GIL issues
# use SCRIPT_NAME to prefix our API
gunicorn --name backend --bind 127.0.0.1:3456 --workers 8 --threads 2 "backend.server.server:gunicorn_entry_point()" --env "SCRIPT_NAME=/api"
由于多进程池支持,我目前正在将基于 Pyramid WSGI 的应用程序从 Waitress Web 服务器迁移到 Gunicorn Web 服务器。
目前,Waitress 正在为应用程序提供服务:
from waitress import serve
serve(app,
host='127.0.0.1',
trusted_proxy="127.0.0.1",
threads=32,
port=port,
trusted_proxy_headers="forwarded",
url_scheme=scheme, # HTTPS
url_prefix='/api')
现在,我想用 Gunicorn 提供相同的应用程序。我设法在 Gunicorn 上找到了所有匹配的选项,但没有 url_prefix
。设置应用程序 URL 前缀的 Gunicorn 等效项是什么(我认为这有时也称为应用程序根目录)?
可以在 Gunicorn 中使用 SCRIPT_NAME 环境变量来配置 WSGI 应用程序根。
这是一个例子:
# name is for Datadog agent
# bind matches one in Caddyfile config
# give enough worker processes, threads will have GIL issues
# use SCRIPT_NAME to prefix our API
gunicorn --name backend --bind 127.0.0.1:3456 --workers 8 --threads 2 "backend.server.server:gunicorn_entry_point()" --env "SCRIPT_NAME=/api"