PHP5.4或引入PHP-FPM nginx运行PHP更轻松

前面我曾介绍过Nginx + PHP-FPM + APC=绝妙的组合,最近有消息称,PHP5.4将很有可能把PHP-FPM ( PHP FastCGI进程管理器 )补丁包含在内核里。这个新闻对于在nginx服务器平台上运行PHP的人们来说是一个极大地惊喜。或许你会有这样的疑问:“PHP-FPM是什么东西?我们为什么要关注它?”

PHP-FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。这是非常关键的功能,因为nginx只能通过FastCGI实现同PHP的接口。nginx不能像Apache那样把所有的PHP环境加载到自身。nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势:

◆较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境)。

◆轻松地管理用户权限( 因为PHP可以在你的服务器进程中管理不同的用户)。

◆当PHP崩溃时,nginx可以照常运行。

它的缺点是,相比之下需要安装及设置mod_php,nginx,PHP和FastCGI。在过去,这种安装工作需要从LightTPD工程中增选spawn-fcgi脚本,然后使用它启动FastCGI进程。可是这种安装存在一些问题:它很脆弱(当进程停止之后可能无法正常重启)而且这种安装方法非常繁琐。安装并配置好nginx之后你还需要下载LightTPD,针对性地设置脚本,将其设置为自动启动,然后保障这些同时正常地运行。如果你习惯于“拿来主义”,开箱即用mod_php,那么也许会让你确信nginx是个劣质品,尤其是当你刚刚升级了服务器替换了原来的精简的平台的时候。

使用PHP-FPM。这个补丁会把FastCGI进程管理功能嵌入到PHP中。所以当你使用FPM补丁编译PHP并且选定了enalbe-fpm选项的时候,nginx会根据需要控制PHP进程的启动和停止。这样就省去了以前繁琐的配置步骤了。当然,对于喜欢省事儿的网站开发人员来说手动配置补丁和编译PHP代码还是有点繁琐。现在我要告诉大家此新闻给我们带来的惊喜:PHP5.4将会把FPM补丁直接包含到PHP工程的内核里面!

相关推荐