一,首先准备工作:
1,安装mod_fastcgi的安装
#wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
# tar -zxvf mod_fastcgi-2.4.6.tar.gz
# cd mod_fastcgi-2.4.6
# cp Makefile.AP2 Makefile
// 将Makefile中的路径改成你的apache的安装路径,或者是httpd路径,关键找到build和modules目录
# vim Makefile
# make install 安装成功
安装成功后,会自动把mod_fastcgi.so复制到modules目录
如果报错如下:
Makefile:12: /etc/httpd/build/special.mk: No such file or directory
解决步骤:
(1),检查是否安装httpd-devel,没有就安装
# rpm -ql httpd-devel # yum install httpd-devel
(2),将build指向对应目录
ln -s /usr/lib64/httpd/build /etc/httpd
2,Apache添加mod_fastcgi模块
修改httpd.conf文件,添加以下内容
LoadModule fastcgi_module modules/mod_fastcgi.so
二,然后以Apache为例管理php-cgi
1,让Apache自己管理php-cgi进程
(1),修改http.conf,添加内容
<IfModule fastcgi_module> # 对应php-cgi目录 FastCgiServer /var/www/cgi-bin/php-cgi -processes 20 AddType application/x-httpd-php .php AddHandler php-fastcgi .php Action php-fastcgi /cgi-bin/php-cgi </IfModule>
(2),重启Apache,检查php-cgi进程
# ps aux | grep php-cgi
如果报错
[Mon Feb 15 16:11:35 2016] [crit] (13)Permission denied: FastCGI: can't create server "/var/www/cgi-bin/php-cgi": bind() failed [/etc/httpd/logs/fastcgi/7e3765851db4eb964ede8e0713bfe065]
这是日志权限问题,执行
# chmod +x /var/log/httpd
2, 让php-fpm管理php-cgi进程
关于php-fpm可查看这里:Nginx支持php-fpm
(1),修改http.conf,添加以下内容
<IfModule fastcgi_module> # 这里的IP和端口是php-fpm的侦听地址,php源码可安装php-fpm FastCgiExternalServer /var/www/cgi-bin/php-cgi -host 127.0.0.1:9000 AddType application/x-httpd-php .php AddHandler php-fastcgi .php Action php-fastcgi /cgi-bin/php-cgi </IfModule>
(2),重启Apache,检查php-fpm进程
# ps aux | grep php-fpm
Leave a Reply