我目前已经在我的 12.04 32 位 Ubuntu 服务器上安装了 Apache,但我有兴趣切换到 Nginx。我已经阅读了许多比较和评论,其中 Nginx 比 Apache 提供静态内容的速度更快,但这些都没有涵盖 PHP 性能。
这是我的问题:在 PHP 处理性能方面,Nginx 与 Apache 相比如何?对于 PHP,Nginx 是否也更快?
Mit*_*tch 10
这是 Apache 和 Nginx 之间的比较,列出了一些优点和缺点。
相比之下,Apache 通过分离更多进程来处理大量请求来处理它们,这样做通常会消耗大量 RAM。有时 Apache 会对其就餐的大小感到有些焦虑。Apache 可从 Ubuntu 软件包存储库中使用快速sudo apt-get install apache2.
Nginx(发音为“engine-ex”)是一个轻量级的 Web 服务器,以速度、速度、速度着称。它在根本上与 Apache 不同——Apache 是一个进程和线程驱动的应用程序,而 Nginx 是事件驱动的。这种设计差异的实际效果是,少量的 Nginx “worker”进程可以在不相互等待和不同步的情况下处理大量请求;他们只是“闭上眼睛”,尽可能快地吃掉众所周知的大象,一次一口。
Chris Lea 关于为什么使用 Nginx?page:“Apache 就像 Microsoft Word,它有一百万个选项,但你只需要六个。Nginx 做这六件事,其中五件事比 Apache 快 50 倍。”
当你比较 Nginx 和 Apache 时,两者都是开源软件,并且两个阵营都有一个声音倡导者社区。Nginx 可以从 Ubuntu 软件包存储库中获得,并带有一个快速的sudo apt-get install Nginx.
最后,Nginx 和 Apache Web 服务器都是可靠的解决方案,尽管它们在特定情况下各有优势。Nginx 的主要优势包括快速提供静态网页,以及内存和硬件资源的低消耗。Apache 是公认的多功能主力,具有丰富的模块可用性和文档。根据您的业务需求和技术要求,其中一种或什至两者的组合可能适合您。
希望这会有所帮助。
资料来源:Lee Hutchinson & Lukasz Kujawa
使用 PHP-FPM 的 Nginx 通常比使用 的 Apache 快mod_php,但由此产生的性能改进取决于您部署解决方案或 Web 应用程序的环境(PHP 代码复杂性、用户/负载、硬件等)。
我们需要更深入地研究网络服务器,以了解为什么没有对网络服务器的 PHP 性能进行简单的比较。
Apache 用于mod_php解释 PHP 代码。Lighttpd早期是 Nginx 的竞争对手,它使用自己的spawn_fcgi(另一个FastCGI实现)来提高速度,从而能够以与 Apache 相同或更少的资源为更多用户提供服务。从而获得人气。
Nginx 与 Lighttpd 有点不同。截至今天,Nginx 支持许多功能,也可以配置为运行spawn_fcgi,但它从来没有像 Lighttpd 那样紧密地捆绑在一起。这让我们重新考虑 PHP 对网络服务器的支持,并可能导致FastCGI 进程管理器项目(PHP-FPM)。
php-fpm自 12.04 起,PHP-FPM 可通过软件包在 Ubuntu 中使用。Ubuntu 包是预先配置的,但值得阅读如何根据您的需要微调池参数(影响:代码的复杂性、可用的 RAM 和 CPU 处理能力、执行时间)。还有一些可用的指南解释了如何为不同的应用程序设置专用池,不仅可以提高性能,还可以提高安全性。如果您关心性能,则应该花时间了解新服务器堆栈的主要组件。
请阅读英文项目 wiki 中的 Nginx 文档。我发现它对理解 Apache 是如何配置的、为什么 Nginx 做不同的事情(例如if是邪恶的)以及如何使用 Nginx 实现速度改进非常有帮助。
如果您用 Nginx 替换 Apache 并尝试以与 Apache 相同的方式对其进行配置,则根本无法提高速度,或者您的配置将无法正常工作。
Nginx 基本上旨在降低复杂性,同时仍然提供广泛的功能集。
谁说你不能在 Nginx 后面运行 Apache?
通常,当静态内容较多且用户请求数量较多时,nginx 速度更快。如果您有一个小型网站,那么选择网络服务器实际上取决于您的喜好。但要回答这个问题本身,PHP 处理本身的差异应该可以忽略不计。
| 归档时间: |
|
| 查看次数: |
4486 次 |
| 最近记录: |