这个方法是我在VPS测试中发现的,之前没有看过相同的例子,算是原创吧。
spawn-fcgi这个包原来是属于Lighttpd里的,现在已经可以独立出来使用。原先我看一些文档,在VPS上配置nginx时使用spawn-fcgi包作为FastCGI支持模块(当然还有其他的支持模块,如php-fpm包),后来因为配置nginx时老出现502错误,就暂时使用apache了。把nginx自启动关闭,把 apache启动后,打开网页发现速度比之前快了很多!我开始以为是网络一时加速而已,后来过了几天也发现很快。感觉快了最少两倍以上。(没有用工具严格测试过)后来一想,是apache的运行模式改用了FastCGI模式,速度成倍提高。刚才重新配置测试了一次,果然如此!
方法:系统平台是CentOS 5,前提是LAMP已配置好,运行正常。
1、32位:rpm -ivh http://centos.alt.ru/repository/centos/5/i386/spawn-fcgi-1.6.3-1.el5.i386.rpm
64位:rpm -ivh http://centos.alt.ru/repository/centos/5/x86_64/spawn-fcgi-1.6.3-1.el5.x86_64.rpm
(也可以去官方下载源码包编译安装:http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz)
2、使用spawn-fcgi来控制php-cgi的FastCGI进程:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u apache -g apache -f /usr/bin/php-cgi
参数含义如下:
-f <fcgiapp> 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置。
-a <addr> 绑定到地址addr。
-p <port> 绑定到端口port。
-s <path> 绑定到unix socket的路径path。
-C <childs> 指定产生的FastCGI的进程数,默认为5。(仅用于PHP)
-P <path> 指定产生的进程的PID文件路径。
-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,CentOS下可以使用apache用户,其他的根据情况配置,如nobody、www-data等。
4. 将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候就可以同时启动PHP的FastCGI进程。