cle*_*tus 31 php performance fastcgi mod-php apache-2.2
最近有人建议我在 PHP 中使用 FastCGI。现在我去了 FastCGI 页面并阅读了它,但我真的不明白它的优点是什么。
Dav*_*ney 38
使用 mod_php,每个 Apache 工作人员都将整个 PHP 解释器加载到其中。由于 Apache 每个传入请求需要一个工作进程,因此您很快就会使用数百个 Apache 工作进程,每个工作进程都加载了自己的 PHP 解释器,从而消耗大量内存。
(注意,这并不完全正确,Apacheworker_mpm
允许您使用一个单线程的 Apache 工作线程处理多个请求。但是,即使在 2009 年,这也不是部署 PHP 的推荐方式,因为 PHP 扩展可能存在线程问题。)
通过在 fast_cgi 模式下使用 PHP(使用lighttpd 包中的spawn-fcgi 之类的东西)有以下好处
FastCGI 意味着 php 位与 apache 位不在同一进程中运行,与 mod_php 不同。当涉及到重新启动服务器或处理失控的应用程序时,这种分离可以有一些明显的优势——在 mod_php 的情况下,这意味着它是“失控”的 apache 进程,但在 fastcgi 下,它只是一个 apache 正在与之交谈的进程,所以不必关闭整个服务器。
尚未提及的另一个优点是,使用mod_fcgid
(这是在 Apache 上使用 FastCGI 的较新实现)和 suexec,您可以实现不同虚拟主机使用不同 Linux 用户执行的设置,这在共享托管场景中可能是真正的安全优势。
使用 mod_php,所有虚拟主机共享同一个用户,即 Apache 的用户。这可能会导致安全问题。
归档时间: |
|
查看次数: |
12299 次 |
最近记录: |