我目前正在使用 Nginx 作为 Openerp 的网络服务器。它用于处理SSL和缓存静态数据。
我正在考虑扩展它的用途,以便使用upstream
模块处理第二台服务器的故障转移和负载平衡。
在此过程中,我发现Nginx也可以在同一台机器上的多个Openerp服务器上执行此操作,因此我可以利用多个内核。但 Gunicorn 似乎是首选的工具。
问题是:Nginx可以很好地处理多个本地OpenERP服务器的流量,完全绕过了对Gunicorn的需求吗?
答案 0 :(得分:1)
让我们首先谈谈他们两者都是基本的。
Nginx 是一个纯Web服务器,用于提供静态内容和/或将请求重定向到另一个套接字以处理请求。
Gunicorn 基于前叉工作者模型。这意味着有一个中央主进程来管理一组工作进程。主人永远不会了解个人客户。所有请求和响应都由工作进程完全处理。
如果您看到Gunicorn是由Unicron设计的,请按照link的详细信息进行操作 这显示了ngix和unicrom同样的模型也在Gunicron上工作。
答案 1 :(得分:-2)
nginx不是“纯粹的Web服务器”:)它更像是一个能够进行负载平衡,缓存,SSL终止,请求路由和静态内容的Web加速器。 “纯粹的Web服务器”就像Apache一样 - 历史上是用于静态内容,CGI以及稍后用于mod_something的Web服务器。