在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爬取网站数据保存使用的方法
Nov 20 Python
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
Python实现栈的方法
May 26 Python
Python读写ini文件的方法
May 28 Python
Python+matplotlib实现华丽的文本框演示代码
Jan 22 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
pycharm实现print输出保存到txt文件
Jun 01 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
smarty中js的调用方法示例
2014/10/27 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
Python中的super用法详解
2015/05/28 Python
Python中几个比较常见的名词解释
2015/07/04 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
Python WSGI的深入理解
2018/08/01 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
python如何实现复制目录到指定目录
2020/02/13 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
幼儿园师德师风学习材料
2014/05/29 职场文书
爱护公共设施的标语
2014/06/24 职场文书
竞聘自述材料
2014/08/25 职场文书
学校运动会报道稿
2014/09/23 职场文书
2014年施工员工作总结
2014/11/18 职场文书
小学班主任个人总结
2015/03/03 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
离婚案件被告代理词
2015/05/23 职场文书
公司规章制度范本
2015/08/03 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
Python内置数据类型中的集合详解
2022/03/18 Python