2011年(264)
分类: LINUX
2011-06-07 14:14:14
Rhel_i386_X86 + Django + Apache安装配置
一、说明
在安装过程中首先我尝试用mod_python的方式进行安装配置的。可是在Apache运行过程中总会遇到子进程退出的问题。我估计导致这种问题出现的原因是mod_python版本不支持python2.7. 所以我换用了fast-cgi的方式来跑我的应用。以下简单介绍一下安装配置过程。
二、安装篇
安装Httpd服务的正确步骤应当如下
下载:apr-1.2.9.tar.gz和apr-util-1.2.8.tar.gz
#tar xzvf apr-1.2.9.tar.gz
#cd apr-1.2.9
#./configure --prefix=/usr/local/apr
#make
#make install
#tar xzvf apr-util-1.2.8.tar.gz
#cd apr-util-1.2.8
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make
#make install
安装zlib
安装一个zlib-1.2.3.tar 试试 可以!(需要安装这个包的)
开始安装
#tar xvfz httpd-2.2.17.tar.gz
#cd httpd-2.2.17
#./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-mpm=prefork --with-included-apr
#make
#make install
安装到的目录:/usr/local/apache
[root@pu apache]# ll
说明:我是用Apache2.2.X。现在来安装mod_fastcgi模块
Apache配置FASTCGI
1. 安装完了httpd之后打一个补丁mod_fastcgi
#下载mod_fastcgi-2.4.2.tar.gz
# tar zxvf mod_fastcgi-2.4.2.tar.gz
由于mod_fastcgi只支持apache2.0,不支持apache2.2.x,所以需要给源码打个patch才能继续编译
patch文件如下:
|
|
cd mod_fastcgi-2.4.2
patch < this-patch
打个补丁包
cd mod_fastcgi-2.4.2
cp Makefile.AP2 Makefile
修改这里面的几个参数项《主要是apache的安装目录修改过来》
到此!
#make && make install
就可以看到mod_fastcgi.so 这个文件生成了!
OK!到此WEB服务器安装完毕了!
第二步:安装python相关
1. 安装python2.7&Mysql-python
#wget #tar -zxvf Python-2.7.tgz #cd Python-2.7 ./configure –prefix=/opt/tb/install/python --enable-shared make && make install 注:--enable-shared不能少(mod_python用到的)
有时候,python的运行不了,提示: python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory 解决方案: echo '/usr/local/lib' > /etc/ld.so.conf.d/python2.7.conf ln -s /opt/taobao/install/python/lib/libpython2.7.so* /usr/local/lib/ ldconfig
替换系统的python2.4: rm -f /usr/local/bin/python /usr/bin/python ln -s /opt/ tb /install/python/bin/python2.7 /usr/local/bin/ ln -s /opt/ tb /install/python/bin/python /usr/bin/python 这样做以后一些系统自带的依赖python2.4的软件就不能用了,比如yum 解决方案: vi /usr/bin/yum 修改第一行为: #!/usr/bin/python2.4 (/usr/bin/python2.4)这个还是2.4版本
|
安装SQLITER
发现没有sqlite模块。。。
wget
tar -xzf pysqlite-2.6.3.tar.gz
cd pysqlite
python setup.py build_static install
安装DJANGO
安装Django
#wget
#tar –zxvf Django-1.1.4.tar.gz
#cd Django-1.1.4
#python setup.py install
#ln -s /opt/ tb /install/python/bin/django-admin.py /usr/local/bin/
第三步:可以开始配置HTTPD服务了
我的配置文件如下
LoadModule fastcgi_module /usr/local/apache/modules/mod_fastcgi.so
FastCGIExternalServer /www/client/codepub/mysite.fcgi -host 127.0.0.1:8055
ServerName newpubs.tb.net
DocumentRoot /www/client/codepub
Alias "/site_media" "/www/client/codepub/site_media"
RewriteEngine On
RewriteRule ^/(site_media.*)$ /$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
MS比nginx还要简单一点!
然后到我的项目目录下面启来cgi端口即可!
到此!配置完成