在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网络编程之读取网站根目录实例
Sep 30 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
Python多线程实现同步的四种方式
May 02 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
Python文本处理简单易懂方法解析
Dec 19 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
Django缓存Cache使用详解
Nov 30 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桌面中心(二) 数据库写入
2007/03/11 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
JavaScript运算符小结
2015/06/03 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python 实现return返回多个值
2019/11/19 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
Python中内建模块collections如何使用
2020/05/27 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
个人简历自我评价八例
2013/10/31 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
抽样调查项目计划书
2014/04/24 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
文案策划岗位职责
2015/02/11 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python