在提供PHP页面,Apache或NGINX方面更快


15

我已经阅读了很多有关在Apache上运行NGINX以提供静态文件的主要好处。但是,我从未见过有关Apache与NGINX服务PHP页面的文章。

问题:在提供PHP页面,Apache或NGINX方面,哪个更快?

Answers:


9

就我个人而言,我认为nginx在它自己做的事情(接收和处理HTTP请求)与它委派给其他进程的内容(动态页面生成)之间提供了正确的划分。虽然将Apache设置为服务PHP请求的工作量较小,但是在Apache内部运行所有内容都存在一些安全性和配置问题(服务器上所有用户运行的所有脚本所访问的所有文件都必须对用户可读/可写) Apache的运行方式,这意味着一个用户的PHP脚本可以查看其他用户的数据);在自己的FastCGI上下文中以其自己的用户身份运行每个PHP站点是一个更好的选择(以稍微多一些的前期配置为代价,直到您让站点创建自动化完成操作为止)。

就“更快”而言,只要机器不受资源限制(传递给外部FCGI侦听器然后又返回不快),带有mod_php的Apache在单个请求上可能就会更快。但是,Apache胖得多(尤其是在使用mod_php运行时),因此您可以在升级到更大的机箱之前使用nginx提供更多流量。


5

nginx的作者说,nginx旨在提供静态文件并作为前端,将需要动态页面的请求转发到其他服务器(如apache)。

另一个好主意是,如果很少更新数据(例如,已归档的博客文章),则使用nginx缓存apache的动态请求。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.