我已经读了很多有关在Apache上运行NGINX来提供静态文件的主要好处。 不过,我从来没有看过一篇文章谈论Apache与NGINX提供PHP页面。
问题:在提供PHP页面,Apache或NGINX时速度更快?
就我个人而言,我认为nginx提供了它自身(接收和处理HTTP请求)和委托给其他进程(dynamic页面生成)的东西之间的正确分割。 虽然设置Apache服务PHP请求的工作量较小,但是在Apache中运行所有内容都是一个安全和configuration问题(服务器上所有用户运行的所有脚本访问的所有文件都必须是用户可读/写的Apache运行的意思是一个用户的PHP脚本可以查看其他用户的数据)。 在自己的FastCGI上下文中运行每个PHP站点是一个更好的select(以稍微多一点的前期configuration为代价,直到你的站点创build自动化被调用来做正确的事情)。
就“更快”而言,只要机器没有资源限制(传递给外部的FCGI监听器,然后返回的速度不那么快),mod_php的Apache可能会在单个请求中更快。 然而,Apache比较胖( 特别是使用mod_php运行时),所以在需要升级到更大的盒子之前,你可以用nginx来提供更多的stream量。
nginx的作者说,nginx的目标是提供静态文件和前端,转发请求,其中需要dynamic页面到其他服务器,如Apache。
另一个好主意是,如果数据很less更新,例如,存档的博客文章,用nginxcachingapache的dynamic请求。
在大多数情况下,nginx。 对于高负载项目,nginx + php + php-fpm是非常好的select。
我可能会误解,但我认为nginx 只提供静态文件(它不支持PHP)。 我通过阅读这里推断这个: http : //nginx.org/en/ 。