Apache 和 NGINX 哪个能更快地提供 PHP 页面

Apache 和 NGINX 哪个能更快地提供 PHP 页面

我读过很多关于使用 NGINX 而不是 Apache 进行服务的主要好处的文章静态文件。但是,我从未看到过一篇文章讨论 Apache 与 NGINX 在提供 PHP 页面方面的比较。

问题:哪个上菜速度更快PHP页面,Apache 还是 NGINX?

答案1

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

就“更快”而言,只要机器不受资源限制(传递到外部 FCGI 侦听器然后返回不是那么快),带有 mod_php 的 Apache 在单个请求上可能会更快。但是,Apache 更胖(尤其当与 mod_php 一起运行时),因此在需要升级到更大的机器之前,您将能够使用 nginx 来处理更多的流量。

答案2

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

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

答案3

大多数情况下是 nginx。对于高负载项目,nginx + php + php-fpm 是极好的选择。

相关内容