我目前使用Nginx作为Openerp的网络服务器。它用于处理 SSL 和缓存静态数据。我正在考虑使用该upstream
模块扩展它的用途,以处理故障转移和与第二台服务器的负载平衡。
在此过程中,我想到 Nginx 也可以在同一台机器上的多个 Openerp 服务器上执行此操作,因此我可以利用多个内核。但Gunicorn似乎是这方面的首选工具。
问题是:Nginx 能否很好地处理多个本地 OpenERP 服务器的流量,完全绕过对 Gunicorn 的需求?
我目前使用Nginx作为Openerp的网络服务器。它用于处理 SSL 和缓存静态数据。我正在考虑使用该upstream
模块扩展它的用途,以处理故障转移和与第二台服务器的负载平衡。
在此过程中,我想到 Nginx 也可以在同一台机器上的多个 Openerp 服务器上执行此操作,因此我可以利用多个内核。但Gunicorn似乎是这方面的首选工具。
问题是:Nginx 能否很好地处理多个本地 OpenERP 服务器的流量,完全绕过对 Gunicorn 的需求?
让我们先谈谈他们俩的基本情况。
Nginx是一个纯 Web 服务器,旨在提供静态内容和/或将请求重定向到另一个套接字以处理请求。
Gunicorn基于 pre-fork worker 模型。这意味着有一个中央主进程管理一组工作进程。主人对个别客户一无所知。所有请求和响应都完全由工作进程处理。
如果您仔细查看 Gunicorn 是由 Unicron 设计的,请点击链接了解更多差异,其中显示了 Gunicron 上的 ngix 和 unicro 相同模型的工作。
nginx 不是“纯网络服务器”:) 它是一个能够进行负载平衡、缓存、SSL 终止、请求路由和静态内容的网络加速器。“纯网络服务器”类似于 Apache - 历史上是用于静态内容、CGI 以及后来用于 mod_something 的网络服务器。