在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 代码效率的方法
Jul 03 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
python中for语句简单遍历数据的方法
May 07 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
python将控制台输出保存至文件的方法
Jan 07 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
python计算导数并绘图的实例
Feb 29 Python
django和flask哪个值得研究学习
Jul 31 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
UI自动化定位常用实现方法代码示例
Oct 27 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
隐性调用php程序的方法
2009/03/09 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP中的事务使用实例
2015/05/26 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
利用python 下载bilibili视频
2020/11/13 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
python 实现的车牌识别项目
2021/01/25 Python
儿科护士实习自我鉴定
2013/10/17 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
公证委托书标准格式
2014/09/11 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
聘任书范文大全
2015/09/21 职场文书
大学副班长竞选稿
2015/11/21 职场文书
外出听课学习心得体会
2016/01/15 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android