`
yangjizhong24
  • 浏览: 395962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下apache+mod_python+django安装指南

阅读更多

今儿开始在linux下安装django,为了很好的运行程序,我需要apache的支持,不多说拉,上步骤:

 

前提:

 

apache : httpd-2.2.17.tar.gz

mod_python : mod_python-3.3.1.tgz

Django : Django-1.2.4.tar.gz

python : 2.5.4

 

另:这里不提及python 的安装步骤,需要的同学请搜索我的相关文章哈

 

开始了

 

一。安装 apache


#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=worker

#make
#make install

 

整个过程apache安装完成,但是有个问题,我在configure 时遇到点问题,大概是无法bind apr 及apr-util ,解决:

下载: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

 

 

解决后重新configure 就哦啦。

 

二。modpython的安装

 

www.modpython.org 下载相关包

#tar -zxvf ./mod_python-3.3.1.tgz
#cd mod_python-3.3.1
# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/local/bin/python2.5

注意:configure 后面的参数需要你指定apache的apxs地址和python位置

 

# make

 

我这里出错了,没出错的同学跳过哈

connobject.c:142: error: request for member `next' in something not a structure or union
apxs:Error: Command failed with rc=65536
.
make[1]: *** [mod_python.so] ?? 1
make[1]: Leaving directory `/home/jizhong/python/python/mod_python-3.3.1/src'
make: *** [do_dso] ?? 2

 

查了资料,决定修改:­ src/connobject.c

//!(b == APR_BRIGADE_SENTINEL(b) ||
!(b == APR_BRIGADE_SENTINEL(bb) ||

继续:

 

#make install

 

之后,mod_python 会在 /usr/local/apache/modules 增加 mod_python.so 文件并在 /usr/local/python/lib/python2.5/site-packages 中添加 mod_python 包

 

然后修改:/usr/local/apache/conf/httpd.conf

添加:
LoadModule python_module modules/mod_python.so

 

四。安装django

 

#tar xzvf Django-1.2.4.tar.gz
#cd Django-1.2.4
#sudo python setup.py install


# mkdir /htdocs

# cd /htdocs

# /home/jizhong/python/python/Django-1.2.4/django/bin/django-admin.py startproject myproject

# cd myproject

# python manager.py runserver 0.0.0.0:8000

 

访问:  http://192.168.100.222:8000/    当然了,我的linux战斗机在局域网内哈,就这个IP。

 

“IT WORKS”没?必须地是把!恭喜你快成功了。

五。APACHE运行django程序:

 

修改配置文件 httpd.conf

去掉#Include conf/extra/httpd-vhosts.conf中的"#"

去掉#ServerName 127.0.0.1  中的"#"

 

修改extract/httpd-vhost.conf:

 

添加一个VirtualHost :

 

<VirtualHost *:80>

<Location "/">

SetHandler python-program

PythonPath "['/home/jizhong/htdocs'] + sys.path"

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE myproject.settings

PythonAutoReload Off

PythonDebug On

</Location>
</VirtualHost>

 

 

保存,退出,重启APACHE:

apache命令:

进入/usr/local/apache/bin

开启:

./httpd -k start      
关闭:
./httpd -k stop 

重启后访问:http://192.168.100.222:80,“IT WORKS”没?还是必须地是把!

 

如果你也看见了,那就是有点小小成就感了吧,喝口水,听听音乐,然后抓紧搞起你的程序吧!

 

分享到:
评论
2 楼 yangjizhong24 2011-02-17  
simomo 写道
django官方强烈不建议使用mod_python了,因为太长时间没有更新~
推荐用mod_wsgi。

谢谢哥们的提醒哈。
1 楼 simomo 2011-02-11  
django官方强烈不建议使用mod_python了,因为太长时间没有更新~
推荐用mod_wsgi。

相关推荐

Global site tag (gtag.js) - Google Analytics