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

作者:zhang-guojun 时间:2024-01-14 00:51:15 

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


wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
 tar xfz mod_python-2.7.11.tgz
cd python-2.7.11

安装


./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


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模块


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 ##安装

测试:


[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


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


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)
测试:


[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
>>>

五、安装Django


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

测试:


[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
>>>

六、测试全部


mkdr /www
cd /www
./usr/local/python/bin/django-admin.py startproject mytest
mytest
python manage.py runserver 0.0.0.0:8000

效果如下:

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

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

标签:Apache,Python
0
投稿

猜你喜欢

  • mySQL中replace的用法

    2024-01-27 13:42:07
  • 正则表达式不匹配某个字符串

    2010-03-02 22:08:00
  • Go语言中strings和strconv包示例代码详解

    2024-04-23 09:41:58
  • 深入了解如何基于Python读写Kafka

    2021-02-13 09:33:09
  • 解析MySQL索引的作用

    2024-01-20 09:51:03
  • Python 中将值附加到集合的操作方法

    2022-01-06 15:09:54
  • 我用Python给班主任写了一个自动阅卷脚本(附源码)

    2023-11-16 07:43:25
  • 从语义开始–概念、意义、实践

    2010-06-13 18:06:00
  • OpenCV实现去除背景识别的方法总结

    2021-01-06 23:04:10
  • python encrypt 实现AES加密的实例详解

    2023-02-08 18:02:22
  • python使用timeit时间模块

    2023-03-05 16:27:37
  • python 实用工具状态机transitions

    2023-11-06 21:53:41
  • Oracle 下的开发日积月累

    2009-02-28 11:08:00
  • 微信小程序实现虎年春节头像制作

    2024-04-16 08:47:47
  • MySQL误操作后快速恢复数据的方法

    2024-01-28 00:16:11
  • Python抓取今日头条街拍图片数据

    2021-11-03 12:30:57
  • JavaScript生成.xls文件的代码

    2024-04-22 22:17:34
  • python构造函数init实例方法解析

    2022-09-30 15:09:19
  • 基于PyTorch实现一个简单的CNN图像分类器

    2021-08-16 21:52:31
  • pytorch实现CNN卷积神经网络

    2023-07-04 20:23:06
  • asp之家 网络编程 m.aspxhome.com