Saturday, 4 March 2006

Apache 2 + SCGI 拾遗

mod_scgi中使用的SCGIMount设置方式,看起来非常眼熟,让我想起了mod_jk。印象中,Apache 2 + Tomcat也是用在mod_jk中设置 JkMount的方式。事实上,两者的工作模式也很相似,都是运行各自独立的Service(Server),通过桥接器连接到Apache上。

前一篇Blog中提到,“libapache2-mod-scgi至少要是1.7.0以上的”,这主要是因为SCGI的接口变化。SCGI从1.5开始实现SCGIMount,1.7版又Fix了一个与此有关的Bug,因此应使用1.7以上版本的SCGI。如果一定要用早先的版本,那只有使用SCGIServer和SCGIHandler了。

前面说了,“在Ubuntu系统下,Breezy的libapache2-mod-scgi也还是1.2-1版本,Dapper的才是1.9-1”,如果现在要使用Dapper上的1.9-1,简单的hack办法,可以先安装1.2-1,然后下载1.9-1版本,用1.9-1版本deb中的mod_scgi.so和scgi.load覆盖旧版本,或许能行。SCGI本身还是通过easy_install,获得最新的1.10版SCGI。

如果觉得Hack的方法不好,那就只好自己编译了,可以看看这里。在编译之前,还需安装apache2-threaded-dev,编译所使用的工具apxs,包含在此包中。注意,在编译mod_scgi的这篇Blog中,build and install下面的指令,三个命令混到一行里了,实际应该是

# cd scgi-1.7/apache2
# apxs2 -i -c mod_scgi.c
# a2enmod scgi

手动编译之后,还需要在/etc/apache2/mods-available目录下,自己建立scgi.load和scgi.conf文件,然后才能a2enmod scgi。

前篇仅仅是试验性的,对开发而言,能用就行了。关于如何配置Virtual Host,详细的情况请参考1234。Windows版本的mod_scgi在这里下载。

0 Comments:

Post a Comment

<< Home