nginx+uWSGI: 动态模式 vs 皇帝模式

5

我正在进行多应用程序的nginx+uWSGI设置,我想知道是否应该使用uWSGI的动态模式,如此处所述(在Dynamic apps下),还是Emperor模式。我更倾向于使用emperor模式,但也许这不是最好的选择。每种模式的优缺点是什么?

2个回答

10

皇帝模式是用于处理多应用程序环境的。它基本上监视您指定的目录以查找新应用程序和事件,并对其进行响应。

优点:

  • 通过触摸附庸文件,您可以在更新代码时优雅地重新加载站点。
  • 应用程序在崩溃和重启时自动重启。
  • 如果需要添加多个服务器,则可以很好地扩展。
  • 限制您的附庸以防止拒绝服务(DoS)攻击。

缺点:

  • 我不确定是否有任何缺点。 我认为这是运行应用程序的首选方式(即使只有一个应用程序)。

我不是100%确定,但我相信使用文档中提供的设置仅会启动Nginx传递的应用程序。 我看到其中有两个问题,您会被困在Nginx中。 不是说那很糟糕,但如果您想尝试或决定移动到另一个服务器,则可能需要重新设置。 此外,这不提供我之前提到的任何好处。


我明白了。此外,皇帝模式可能更加灵活,因为每个应用程序都有单独的主进程和工作进程。 - clime
没错。祝你的项目好运。 - chirinosky

3

动态模式仅适用于来自非守护进程模式的mod_python、mod_perl或mod_wsgi的人,他们希望/需要类似的设置。对于所有其他用途(我会说,99.9%的用途),Emperor是最佳选择。请注意,只有perl和python插件支持动态模式,所有其他插件都强制您使用Emperor。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接