在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实现读取并保存文件的类
May 11 Python
Python温度转换实例分析
Jan 17 Python
python提取图像的名字*.jpg到txt文本的方法
May 10 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
python如何制作缩略图
Apr 30 Python
Python比较配置文件的方法实例详解
Jun 06 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
Python生成九宫格图片的示例代码
Apr 14 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网站备份程序代码分享
2011/06/10 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
PHP扩展开发入门教程
2015/02/26 PHP
详解PHP中的Traits
2015/07/29 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
python3写的简单本地文件上传服务器实例
2018/06/04 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Python数据存储之 h5py详解
2019/12/26 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
仓库管理员岗位职责
2014/03/19 职场文书
学生会部长竞聘书
2014/03/31 职场文书
走群众路线学习笔记
2014/11/06 职场文书
高三英语教学反思
2016/03/03 职场文书
Python Socket编程详解
2021/04/25 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python