674   Apache PHP

一,首先准备工作:

 

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

Your email address will not be published. Required fields are marked *