我正在尝试在macports上使用fpm安装php。我在某处读到fpm表示FastCGI进程管理器。这是否意味着fastcgi和fpm相同?如果它们是相同的,那么为什么我们有两个不同的Macports变种,分别是php“ php5 + fastcgi”和“ php5 + fpm”
[安东尼说的是绝对正确的,但我想补充一点,您的经验可能会显示出更好的性能和效率(由于不是fpm
-vs- fcgi
,而是更多地是因为httpd
])。
例如,我有一台运行lighttpd
+ fcgi
的四核计算机很好地嗡嗡作响。我升级到16核计算机以应对增长,两件事发生了爆炸:RAM使用率和段错误。我发现自己每30分钟重新启动一次lighttpd
,以保持网站正常运行。
我切换到php-fpm和nginx,RAM的使用从> 20GB降至2GB。分段错误也消失了。经过研究后,我了解到lighttpd和fcgi在负载下的多核计算机上表现不佳,在某些情况下还存在内存泄漏问题。
这是由于php-fpm
优于fcgi
吗?并非完全如此,但是how钩住php-fpm
似乎比通过fcgi
进行服务的效率高了很多。
将PHP作为CGI运行意味着您基本上告诉Web服务器PHP可执行文件的位置,并且服务器运行该可执行文件
whereas
PHP FastCGI进程管理器(PHP-FPM)是PHP的替代FastCGI守护程序,它允许网站处理繁重的负载。 PHP-FPM维护池(可以响应PHP请求的工作人员)来完成此任务。对于多用户PHP环境,PHP-FPM比传统的基于CGI的方法(例如SUPHP)要快。
但是,两者都有优点和缺点,应根据其特定的使用情况进行选择。
我在fastcgi vs fpm的此链接上找到了信息,有助于选择我的方案中使用的处理程序。