apache2.2 Mod_fastcgi的安装

最新的mod_fastcgi2.4.2并没有针对apache2.2作相应的修改,主要是apache2.2的lib名称前缀改为apr_,之前的是ap_。在网上找到一个mod_fastcgi的patch:http://www.fastcgi.com/archives/fastcgi-developers/2005-December/004056.html 运行一下就可以了。
揭开mod_fastcgi的tar,里面有个Makeinstall.AP2,改名为Makeinstall并修改里面的apache相关路径,注意把apxs和apachectl的路径改成绝对路径,写完整,因为apache2.2跟apache2的目录结构有所不同,因为这个,害得我改了郁闷了好几天。
然后make && make install
可能会提示错误,因为Makefile里面的install-modules方法系统不识别,没关系,只要把mod_fastcgi目录下.libs里面生成的文件全都复制到apache的modules目录就可以了。然后配置apache:
添加LoadModule fastcgi_module modules/mod_fastcgi.so
AddHandler fastcgi-script .fcgi
重起apache没有错误,说明安装成功了。
另外,在网上看到mod_fcgid:http://fastcgi.coremail.cn/index.cn.htm
据说是针对fastcgi进行了改进,于fastcgi全兼容,试了一下,顺利安装完成,配置方法跟mod_fastcgi相同,只需要把fastcgi改为fcgid即可。
LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script .fcgi
这个模块的文档不是很多,按照官方的说法,应该是和fastcgi并存的,所以我把两个模块都引入进来,然后用fcgid取代fastcgi,可以正常运行,但是没仔细看到底有什么区别。
另外,我用fastcgi运行mt的时候发现,用mysql数据库的时候会有问题,而且没有明显的性能提升。用DB_File驱动的Berkeley DB速度就会得到明显提升。可能是由于DBD::mysql跟fastcgi的运行机制有冲突,或者是多线程跟mod_fastcgi有冲突,因为我的mysql用的是多线程。

你可能感兴趣的:(apache,多线程,html,数据结构,mysql)