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


Posted in Python onDecember 24, 2015

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

Python 相关文章推荐
python远程登录代码
Apr 29 Python
在Python中使用next()方法操作文件的教程
May 24 Python
Python中遇到的小问题及解决方法汇总
Jan 11 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
python提取图像的名字*.jpg到txt文本的方法
May 10 Python
python2与python3共存问题的解决方法
Sep 18 Python
python如何实现代码检查
Jun 28 Python
Python 中Django安装和使用教程详解
Jul 03 Python
python下载库的步骤方法
Oct 12 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 #Python
在Mac OS上搭建Python的开发环境
Dec 24 #Python
详解Python字符串对象的实现
Dec 24 #Python
浅谈Python单向链表的实现
Dec 24 #Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 #Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 #Python
Python生成随机验证码的两种方法
Dec 22 #Python
You might like
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php Session无效分析资料整理
2016/11/29 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
介绍Python中的文档测试模块
2015/04/28 Python
Python中datetime模块参考手册
2017/01/13 Python
python实现报表自动化详解
2017/11/16 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
flask开启多线程的具体方法
2020/08/02 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
比驿:全球酒店比价网
2018/06/20 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
出纳岗位职责模板
2013/11/27 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
手术室护士个人总结
2015/02/13 职场文书
用Python提取PDF表格的方法
2021/04/11 Python