使用Nginx作为dynamic网站(PHP,MongoDB)的唯一Web服务器有什么缺点吗?

我正在开发一个将与Amazon EC2一起托pipe的新项目。 请求速度至关重要,而Nginx的低内存占用非常有吸引力。 我一直使用Apache,但如果Nginx的重大优势,我想切换到。

我发现很多人使用Apache + Nginx,但是到2011年为止,使用Nginx和PHP-FPM来提供静态和dynamic内容都有什么缺点吗? 我知道.htaccess不再是Nginx的一个选项,但我也明白,有办法解决这个问题。

基本上,你会从Apache + Nginx或Nginx中获得最佳性能吗?

performance会非常相似。 在一种情况下,您使用FastCGI作为Nginx和PHP之间的通信层,在另一种情况下,您使用Apache + HTTP作为通信层。 最终,FastCGI和HTTP之间的区别不大可能会影响到PHP的开销.Apache将使用一些额外的内存,但由于它将PHPembedded到自己的进程中,所以速度差异很小。

最后,你应该忽视上述情况,除非你真的非常认真地肯定必须从一台服务器获得最大的性能,因为你被困在一台服务器只有足够的电力的位置,因此根本无法扩展。

这里的重要方面是你所熟悉的和你需要的function。 如果你对.htaccess感到满意,那么就要弄清楚是否摆脱了Apache内存的使用,.htaccess的性能和PHP-FPM的附加特性是值得重新学习的东西。

如果不是很明显,那么我就是直接使用Nginx + PHP-FPM的粉丝,主要是因为整个function比如慢日志,这为我提供了一种额外的方式来确保一切正常。 但它确实需要重新学习,没有办法绕过.htaccess不再可用,你不能奇迹般地将你的.htaccess文件转换为nginx格式,因为nginxconfiguration是显着不同的。

如果你决定使用Nginx,那么请自己帮忙,阅读文档。 具体来说, 我的nginx入门是作为入门书写的,来自nginx作者Igor的正式英文文档以及关于location和try_files的wiki指令。