15 performance nginx web html apache-2.2
我已经阅读了很多关于在 Apache 上运行 NGINX 以提供静态文件的主要好处。但是,我从未见过一篇文章讨论 Apache 与 NGINX 为 PHP 页面提供服务。
问题:提供PHP页面、Apache 或 NGINX哪个更快?
就我个人而言,我认为 nginx 在它自己做的事情(接收和处理 HTTP 请求)和它委托给其他进程的事情(动态页面生成)之间提供了正确的划分。虽然设置 Apache 来处理 PHP 请求的工作量较少,但在 Apache 中运行所有内容都存在一些安全和配置问题(服务器上所有用户运行的所有脚本访问的所有文件必须是用户可读/可写的) Apache 以 as 运行,这意味着一个用户的 PHP 脚本可以查看其他用户的数据);将每个 PHP 站点作为它自己的用户运行在它自己的 FastCGI 上下文中是一个更好的选择(以稍微更多的前期配置为代价,直到您拨入站点创建自动化来做正确的事情)。
就“更快”而言,带有 mod_php 的 Apache 在单个请求上可能会更快,只要机器不受资源限制(传递给外部 FCGI 侦听器然后返回不是那么快)。但是,Apache 更胖(尤其是在使用 mod_php 运行时),因此在需要升级到更大的机器之前,您将能够使用 nginx 提供更多流量。
小智 5
nginx 的作者说 nginx 旨在提供静态文件和前端,将需要动态页面的请求转发到其他服务器,例如 apache。
如果数据很少更新,例如存档的博客文章,另一个好主意是使用 nginx 缓存 apache 的动态请求。