一,使用软件的详细版本信息如下:
Apache(apache 2.2.15)
Apache FastCGI module(mod_fastcgi-2.4.6)
PHP 5.3.3(php-cgi)
二,详细的配置步骤:
(下面步骤的前提是Apache和PHP(php-cgi)均已经安装)
1,安装mod_fastcgi模块
1)下载:
wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
2)从源代码编译安装
tar -xzvf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
编辑Makefile,修改top_dir项的所值:/opt/httpd
(这里top_dir一项的值是apache的安装目录。)
make
make install
(使用updatedb手动刷新locate数据库,使用locate mod_fastcgi.so检查mod_fastcgi是否安装成功。)
2,配置Apache(下面将分别实现mod_fastcgi提供static, dynamic和external三种模式)
1)查找二进制文件php-cgi的路径(这里我使用从源代码编译安装PHP 5.3.3在/opt目录下,读者可以使用locate php-cgi来查找。)
/opt/bin/php-cgi
2)
static模式
a, 在/opt/httpd/conf/httpd.conf适当位置添加添加下面两行:
b, 在/opt/httpd/conf.d目录下建立mod_fastcgi.conf
c, 在/opt/cgi-bin目录下建立php.fcgi(注意修改此文件的权限为755)
d, 使用apachectl检查配置语法是否正确,然后重启Apache
[root@csovm003 bin]# /opt/httpd/bin/apachectl configtest
[root@csovm003 bin]# /opt/httpd/bin/apachectl restart
e, 在/opt/httpd/www目录下建立config.inc.php,使用浏览器访问。(若配置正确,那么PHP Variables栏目下的_SERVER["SERVER_SOFTWARE"]一项的值为:Apache/2.2.15 (Unix) mod_fastcgi/2.4.6)
如果使用ps axu| grep php-cgi查看,随Apache启动的php-cgi进程数目为13(计算公式:max-process*(PHP_FCGI_CHILDREN+1))。
dynamic模式
a, 在/opt/httpd/conf/httpd.conf适当位置添加添加下面三行:
b, 在/opt/httpd/conf.d目录下建立mod_fastcgi.conf
c, 在/opt/cgi-bin目录下建立php.fcgi(注意修改此文件的权限为755)
d, 使用apachectl检查配置语法是否正确,然后重启Apache
[root@csovm003 bin]# /opt/httpd/bin/apachectl configtest
[root@csovm003 bin]# /opt/httpd/bin/apachectl restart
external模式
a, 在/opt/httpd/conf/httpd.conf适当位置添加添加下面两行:
b, 在/opt/httpd/conf.d目录下建立mod_fastcgi.conf
c, 在/opt/cgi-bin目录下建立php.fcgi(注意修改此文件的权限为755)
d, 使用apachectl检查配置语法是否正确,然后重启Apache
[root@csovm003 bin]# /opt/httpd/bin/apachectl configtest
[root@csovm003 bin]# /opt/httpd/bin/apachectl restart
e, 使用下面的命令开启和/opt/httpd/conf.d/mod_fastcgi.conf中配置一致的Application
[root@csovm003 bin]# /opt/bin/php-cgi -b 127.0.0.1:9090 -f /opt/httpd/cgi-bin/php.fcgi