用Gunicorn设置应用的URL前缀



由于支持多进程池,我目前正在将基于金字塔WSGI的应用程序从Waitress web服务器转移到Gunicorn web服务器。

当前,应用程序的服务是:

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"

参见相关的Caddfyfile。

相关内容

  • 没有找到相关文章