高Apache的CPU使用率,但低nginx – configuration是否正确?

我们刚刚将我们的网站迁移到全新的高规格Linux服务器(1x Intel Xeon E3-1230 v2 @ 3.30GHz,8GB DDR3 ECC,2个128GB SATA SSD RAID1)。

服务器已被configuration为使用nginx,但我们不确定它是否正常工作。 该网站总是加载速度非常快( http://www.onedirection.net ),但Plesk经常向我们发送有关Apache CPU使用率达到高峰的报告,但是当我们查看nginx百分比时,它总是非常低。

我们来自Windows背景,所以对于Linux来说是非常新的,但是不应该运行nginx运行INSTEAD的Apache?

下面是Plesk的屏幕截图,显示CPU使用情况: http : //www.pixelkicks.co.uk/_download/plesk.JPG

该网站每天大约有20,000个访问者,我们使用W3 Total Cache来尽可能快地运行。 MySQL已经很好的优化了。

内存使用情况仅在8GB的2GB下运行。

这看起来正确吗? 我们怎么知道nginx正在做大部分工作?

Apache在这里的“高”CPU使用率实际上不是由Apache引起的,而是PHP实际上是作为Apache可执行文件中的共享对象加载的。 因此,由于PHP运行在Apache的过程中,所以您的WordPress和任何其他正在运行的PHP脚本占用的CPU时间都归属于Apache。

在这种情况下,根本没有必要拥有Apache。 一个典型的nginx设置将使用nginx作为源服务器,运行PHP脚本的php-fpm(运行PHP作为单独的进程)。 nginx和php-fpm的示例configuration在WordPress自己的wiki上给出 ,W3 Total Cache将为nginx生成自己的configuration片段。

使用nginx + php-fpmconfiguration也为您提供了一个优势,因为它更容易查明缓慢的PHP脚本,因为php-fpm SAPI包含缓慢的脚本loggingfunction (并且没有其他PHP SAPI)。