在Linux系统上部署Apache+Python+Django+MySQL环境

  Linux+apache+mysql+python+mod_python+Django

  说明:系统rhel 5.3,默认安装httpd、mysql,没有安装的,请下载安装RPM包,删除/etc/httpd/modules/mod_python.so,如果有的话。

  一、安装python

  ?


1

2

wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz

tar xfz mod_python-2.7.11.tgz <br>cd python-2.7.11<br>

  安装

  ?


1

2

3

4

./config --prefix=/usr/local/python/

make && make install

ln -s /usr/local/python/bin/python2.7 /usr/bin/

ln -s /usr/local/python/bin/python/usr/bin/

  二、安装setuptools

  ?


1

2

3

4

5

wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea

sh setuptools-0.6c11-py2.7.egg

ldconfig #让它生效

  三、安装 mysqldb模块

  ?


1

2

3

4

5

6

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

tar zxvf MySQL-python-1.2.3.tar.gz

cd MySQL-python

python2.7 setup.py build

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

python2.7 setup.py install ##安装

  测试:

  ?


1

[root@localhost conf]# python2.7

  ?


1

2

3

4

5

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

  ?


1

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

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

  ?


1

2

3

4

tar xvf mod_python-3.3.0b.tgz

cd mod_python-3.3.0b

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

make && make install

  注意

  LoadModule python_module modules/mod_python.so这个不用添加,因为在/etc/httpd/conf.d/python.conf 已经配置好

  7ervice httpd restart (重启下apache)

  测试:

  ?


1

[root@localhost conf]# python

  ?


1

2

3

4

5

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

>>>

  五、安装Django

  ?


1

2

3

4

wget http://www.djangoproject.com/download/1.2.5/tarball/

tar xfz Django-1.2.5.tar.gz

cd Django-1.2.5

python2.7 setup.py install

  测试:

  ?


1

[root@localhost conf]# python

  ?


1

2

3

4

5

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

2

3

4

5

mkdr /www

cd /www

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

mytest

python manage.py runserver 0.0.0.0:8000

  效果如下:



  PS:关于mod_python

  mod_python是apache组织的一个项目,通过它,可以开发psp或cgi,mod_python功能强大,速度快,是非常优秀的web开发工具。

  Mod_python起源于一个被称为Httpdapy(1997)的项目。很长时间以来, Httpdapy并没有被称作mod_python,因为Httpdapy不是专门用于Apache的。 Httpdapy被设计成跨平台的,实际上最初是为Netscape server写的(那个时候被称为Nsapy)(1997)

  这个Httpdapy的README文件的摘要,很好的阐述了在HTTP server中嵌入Python所带来的挑战和解决方案。

  Apache分阶段的处理请求(比方说:读取请求,解析header, 检查存取路径,等等)。这些阶段能被称为"处理器"(handler)的函数实现。传统上, "处理器"是由C语言编写,并编译成Apache的模块。Mod_python提供了一个通过Python写的Apache处理器的来扩展Apache功能的方法。关于Apache请求处理过程的详尽描述,请参阅 Apache API Notes, 也可以参阅 Mod_python - Integrating Python with Apache。

  为了轻松地从CGI移植,一个标准的mod_python处理器提供了模拟的CGI环境,允许用户在不对代码做任何修改的情况下,使遗留的脚本运行在mod_python下(大多数情况)。

  mod_python的一个最主要优点就是在性能上超越传统CGI。下面是一个非常粗略的测试。该测试是在一台运行Red Hat Linux 7.3的奔腾1.2G的机器上完成的。Ab 用来对4种脚本进行测试,所有的都是从标准cgi模块输入(因为这是一个典型Python cgi脚本开始的方式), 然后输出一个简单的单词"Hello!"。这个结果是基于10000次并发为1的请求。

  Standard CGI: 23 requests/s

  Mod_python cgihandler: 385 requests/s

  Mod_python publisher: 476 requests/s

  Mod_python handler: 1203 requests/s

(0)

相关推荐

  • Linux系统上安装MRTG来监控网络流量

    Multi Router Traffic Grapher------MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档 ...

  • 如何进行检查Linux系统上的网络连接

    在Linux系统上有许多可用于查看的网络设置和连接命令,使用快捷的命令来进行配置系统上的网络连接,方便使用者来查看网络配置和连接. 操作方法 01 首先使用ifquery命令,窗口显示一个网络接口列表 ...

  • 在Linux系统上安装Wine的教程

    Wine,一个在Linux平台上非常受欢迎并且强大的开源应用,有了它,我们可以在Linux平台上完美运行Windows应用与游戏. WineHQ团队,近期宣布了一个新的开发版本Wine1.7.29.这 ...

  • 在Linux系统上配置SNMP的方法

    在Debian或Ubuntu上配置SNMP 要在基于Debian的系统上安装SNMP代理(snmpd),请运行以下命令: 代码如下: root@server:~# apt-get install sn ...

  • 在Windows系统上搭建Nginx+Python+MySQL环境的教程

    在Windows系统上搭建Nginx+Python+MySQL环境的教程

  • 在Linux系统上使用交换文件扩展swap空间的方法

    想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩大. 因此,在这种情况下,我们可 ...

  • 在Linux系统上进行openmp多线程编程的方法

    OpenMP是一种多处理器多线程的编程语言,能够支持多个平台,包括Linux系统,那么Linux下要如何进行openmp多线程编程呢?一起来了解下吧。 关键语法: 代码如下: #inlcude 《om ...

  • 在Linux系统上实现IP转发的方法

    大家好,今天我们学习一下在 Linux 上用 iptables 实现从一个网络接口到另一个接口的IP转发(数据包转发).IP转发的概念是,使 Linux 机器像路由器一样将数据从一个网络发送到另一个网 ...

  • 在Linux系统上开启Initrd文件系统的方法

    initial RAM disk Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程.initrd文件中包含了各种可执行程序和驱动程序,它们可 ...