由于工作的需要安装mod_fastcgi-2.4.6,在安装过程中遇到错误,特记录下来,方便自己和其他人。
1.在这个地址下面 http://www.fastcgi.com/dist/ 获取到 mod_fastcgi-2.4.6.tar.gz
如果 在apache上配置mod_fastcgi模式的时候按照步骤始终不能成功,一直卡在mod_fastcgi的make上。提示错误如下:
make: *** [mod_fastcgi.slo] 错误 1
解决办法如下:
(1)下载补丁文件
http://leeon.me/upload/other/byte-compile-against-apache24.diff
(2) cd /root/mod_fastcgi-2.4.6 并上传本文中提供的diff patch文件到此目录
(3) 然后patch -p1 < byte-compile-against-apache24.diff 即可
(4)注意修改Makefile.AP2 为Makefile 同时修改里面的apache的路径(top_dir)为自己apache所部属的路径。
修改配置如下:
top_dir = /home/nemo/apache2.4
APXS = /home/nemo/apache2.4/bin/apxs
APACHECTL = /home/nemo/apache2.4/bin/apachectl
(5) 最后make && make install 编译mod_fastcgi,然后在apache的conf文件中加入module即可。
2. 修改apache2.4 的httpd.conf,增加配置
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
<IfModule mod_alias.c>
ScriptAlias /fcgi-bin/ "/home/nemo/apache2.4/fcgi-bin/"
<Directory "/home/nemo/apache2.4/fcgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</IfModule>
AddHandler fastcgi-script .fcg .fcgi .fpl
</IfModule>
保存退出,重启apache
如果提示
You don't have permission to access 就查找 httpd.conf 里面有没有
<Directory />
AllowOverride none
# Require all denied
</Directory> 要把里面的Require all denied 注释掉,让请求不要被拒绝。
再次重启,就可以访问你的程序了。