金字塔gunicorn和女招待

2024-04-29 12:18:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解金字塔关于[main:server]配置和gunicorn的行为。在

如果我使用pserve,它将对服务生和gunicorn使用[main:server]的配置。例如:

# development.ini 
[server:main]
use = egg:waitress#main
listen = *:6543

所以现在,$ pserve development.ini将与服务生一起启动项目,这是意料之中的。但是如果我使用命令$ gunicorn(ini文件中有gunicorn或waitress),它也能正常工作,这不是我所期望的。在

我的问题是:

  • 如果我运行命令$ gunicorn --paste development.ini,为什么这个配置有效?

  • 钩子下面会发生什么?女服务员在工作吗?(我想说这不是根据我电脑里的进程)


Tags: 文件项目命令serveruseeggmainlisten
2条回答

所以,经过大量的阅读和测试,我不得不得出结论:

  • 金字塔应用程序必须使用[main:server]
  • 如果使用gunicorn运行应用程序,则必须定义这个[main:server]
  • gunicorn将忽略use属性,但pyramid会检查鸡蛋是否存在
  • gunicorn将使用其余的设置(如果有的话),但是它们的优先级低于命令行参数或配置.py文件

这种行为背后的原因仍然让我感到困惑,但至少我可以处理它。如有其他提示,我们将不胜感激。在

开始为任何WSGI应用程序提供请求需要两个独立的配置。在

1)要使用哪个WSGI应用程序。在

2)使用哪个WSGI服务器。在

这些部分是分开处理的,可以根据您的设置以不同的方式完成。ini文件格式由PasteDeploy库定义,并为格式使用者提供一种确定应用程序配置和服务器配置的方法。但是,当使用gunicorn paste foo.ini时,你已经告诉gunicorn你想使用gunicorn服务器(而不是服务员),所以它忽略了服务器部分,只专注于加载应用程序。Gunicorn实际上也有其他加载应用程序的方法,但我暂时不考虑这种复杂性,因为这部分对您很有用。gunicorn的任何服务器配置都需要单独完成。。。当您从cli运行gunicorn时,它不会读取[server:main]部分。或者,您可以使用pserve来启动应用程序,但在您当前的设置中,它将运行waitress而不是gunicorn。在

相关问题 更多 >