在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连接mysql并提交mysql事务示例
Mar 05 Python
Python对数据库操作
Mar 28 Python
Django实现快速分页的方法实例
Oct 22 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
Python程序暂停的正常处理方法
Nov 07 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
python实现人机猜拳小游戏
Feb 03 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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的论坛(3)
2006/10/09 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
在Python中使用模块的教程
2015/04/27 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
优秀志愿者事迹材料
2014/02/03 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
水利水电专业自荐信
2014/07/08 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2019秋季运动会口号
2019/06/25 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
php访问对象中的成员的实例方法
2021/11/17 PHP
Hive HQL支持2种查询语句风格
2022/06/25 数据库
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS