每次做重复的事情,特别是还要啃文档,查Google的时候,是无比痛苦的,虽然敲键盘也很累,但我实在是想不到其它更好的记录的办法了……
下载的软件包:
httpd-2.2.15.tar.gz
mod_wsgi-3.2.tar.gz
mod_python-3.3.1.tgz
Python-2.6.5.tgz
编译参数及过程:
Python2.6 (成熟的东西就是简单...)
先确保zlib-devel已安装,否则python内zlib module将会不可用,ez_setup也无法安装,./configure后会列出哪些扩展库没有找到不可用
./configure --prefix=<installation_dir> --enable-shared
make
make install
# 所有的可执行和lib都会被安装在<installation_dir>下
# 在Ubuntu9.10-32bit和Centos4.7-64bit上都是一键编译,与Windows的安装有得一拼
#echo "/usr/local/lib" > /ect/ld.so.conf.d/python.ld.conf
#ldconfig
#python2.6
Apache
通过configure来决定apache装在哪里,关闭默认的A模块,戓打开未默认的B模块,决定MPM模式,决定是否尽量使用so
./configure --prefix=<installation_dir> /
--with-mpm=prefork
--enable-mods-shared=most
--enable-ssl
make
make install
# Apache本身编译和配置在各平台下都非常可靠,但是,在Apache上运行的插件,如下面,就……
Mod_Python
通过configure指定apache apxs的位置,python的位置,
# 这个东西比较操蛋
on line 142 of connobject.c replace
!(b == APR_BRIGADE_SENTINEL(b ) || with !(b == APR_BRIGADE_SENTINEL(bb ) ||
./configure --with-apxs=<apache_apxs_path> --with-python=<python_bin_path>
make
make install # 需要管理员权限,因为它要在Python库里加mod_python library
Mod_Wsgi
通过configure指定apache apxs的位置,python的位置,
./configure --with-apxs=<apache_apxs_path> --with-python=<python_bin_path>
make
make install
# 注意:当有新的模块加入时,apachectl -k restart 会导致某些segmentFault崩溃,需要先stop, 再start