apache+mysql+mod_python+Django

Linux+apache+mysql+python+mod_python+Django

一:安装apache,请参考:

http://blog.youkuaiyun.com/jiaju_cao/article/details/6795758


三、安装 mysqldb模块

wgethttp://cdnetworks-kr-2.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz   

1 tar zxvf MySQL-python-1.2.3.tar.gz

2 cd MySQL-python

3python2.7 setup.py build
#
#ln -s /usr/local/python/bin/python2.7 /usr/bin/(
注意建立连接)

4 python2.7 setup.py install ##安装

5测试:

[root@localhost conf]# python2.7
Python 2.7.1 (r271:86832, Mar 21 2011, 10:13:38)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>   

没有提示说明是正确的。

四、安装mod_python

wgethttp://archive.apache.org/dist/httpd/modpython/mod_python-3.3.0b.tgz

1  安装前安装apr-devel-1.2.7-11.el5_5.2.i386.rpmapr-util-devel-1.2.7-7.SEL5_3.2.i386.rpmhttpd-devel-2.2.4.el5.centos.i386.rpm,因为要动态加入python模块,要不然找不到apxs

2 tar xvf mod_python-3.3.0b.tgz

3cd mod_python-3.3.0b

4 ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/bin/python ###(apache支持python)

5 make && make install (如果make出错,可能是因为python版本不配套)

6注意
  LoadModule python_module modules/mod_python.so
这个不用添加,因为在/etc/httpd/conf.d/python.conf已经配置好(如果没有,则需要在httpd.conf中配置加载的模块)

service httpd restart (重启下apache)

或: apachectl restart

8测试:

[root@localhost conf]# python
Python 2.7.1 (r271:86832, Mar 21 2011, 10:13:38)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mod_python
>>>

如果你遇到类似下面的 .so 权限错误:

httpd: Syntax error on line 63 of/opt/apache/conf/httpd.conf: Cannot load/opt/apache/modules/mod_python.so into server:/opt/apache/modules/mod_python.so: cannot restore segment protafter reloc: Permission denied

说明是你的 .so 文件权限不够,很可能是你的SELinux的权限检查没有通过导致的。

使用下面命令可以将 .so文件定义为共享类库文件,就可以通过权限检查:

# chcon -t texrel_shlib_t/opt/apache/modules/*.so


五、安装Django

wget  http://www.djangoproject.com/download/1.2.5/tarball/
1 tar xfz Django-1.2.5.tar.gz

2 cd Django-1.2.5

3 python2.7 setup.py  install

4
测试:

[root@localhost conf]# python
Python 2.7.1 (r271:86832, Mar 21 2011, 10:13:38)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>


六、测试全部
1 mkdr /www

2cd /www

3/usr/local/python/bin/django-admin.py startproject mytest
4 cd mytest

5python manage.py runserver 0.0.0.0:8000

6
效果如下:

     


   浏览器访问:

      




7 CRTL+C
退出

七、配置apache虚拟目录(虚拟目录有两种,一种是基于目录,另一种是基于域名)

1基于虚拟目录
vi /etc/httpd/conf/httpd.conf

        添加以下配置文件:
Alias /python "/www"

<Directory /www>

AllowOverride FileInfo

AddHandler mod_python .py

PythonHandler test

PythonDebug On

</Directory>

##service httpd restart(记得重启)##

     /www目录下面的test.py写入:

from mod_python import apache

def handler(req):

req.write("Hello World!")

return apache.OK

在浏览器访问:

   


2虚拟主机基于域名访问:
1 vi /etc/httpd/conf/httpd.conf

NameVirtualHost *:80###
去掉注释

        添加如下配置:
<VirtualHost *:80>

ServerAdmin admin@zhnews.com

DocumentRoot /www

ServerName www.test.com

<Directory "/www">

AllowOverride FileInfo

AddHandler mod_python .py

PythonHandler test

PythonDebug On

Options Indexes FollowSymLinks MultiViews

AllowOverride all

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

##service httpd restart(记得重启)##

##修改下本地hosts文件IP映射成www.test.com##

浏览器访问:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值