在虚拟机上运行nginx是否有缺点?

我计划使用nginx来承载我的一些最小的php的静态内容。 我将有2个服务器的nginx,但可能是太多的硬件,我所需要的。 我正在考虑将它们分成总共4个nginx虚拟机(每个盒子2个)。 这将允许我更灵活地分配Nginx和网站的其他部分(这是Apache)之间的资源。

大部分的cpu / ram将被用来托pipe静态文件并执行php的系统调用。

我们将使用vmware esx来创build虚拟机。

我们会在虚拟机上运行nginx而不是在硬件上运行nginx,从而取得重大的性能提升?

“通过在虚拟机上运行nginx,而不是在硬件上本地运行nginx,我们会不会获得重大的性能提升?

这取决于底层硬件以及如何分配它。 你打算在同一台主机上运行其他几台虚拟机吗? 你要分配多less个虚拟CPU而不是逻辑CPU?

虚拟化有一个CPU的收费,但它是非常less的。 通过仔细的规划,可以通过将虚拟CPU“固定”到逻辑CPU来缓解这个问题。

我们所有的托pipe网站的虚拟服务器都是以我公司的标准来configurationnginx的。 与Apache2可能使用的巨额数据相比,运行nginx的开销对内存和CPU来说是微不足道的。

这些天我从来没有build立一个没有nginx提供静态内容的web环境 – 除非我把varnish放在那里,然后caching起来。

编辑:给你更多的信息我们最重的加载虚拟机(4xCPU 8GB RAM)的应用程序服务器与Nginx有8个工作进程和1024工作人员连接RP到Apache2,nginx在峰值时使用6MB的RAM。