在Linux系统上部署Apache+Python+Django+MySQL环境

   Linux+apache+mysql+python+mod_python+Django

  说明:系统rhel 5.3,默认安装httpd、mysql,没有安装的,请下载安装RPM包,删除/etc/httpd/modules/mod_python.so,如果有的话。

  一、安装python

  ?

1
2

wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar xfz mod_python-2.7.11.tgz <br>cd python-2.7.11<br>

  安装

  ?

1
2
3
4

./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

  ?

1
2
3
4
5

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模块

  ?

1
2
3
4
5
6

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 ##安装

  测试:

  ?

1

[root@localhost conf]# python2.7

  ?

1
2
3
4
5

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

  ?

1

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

  ?

1
2
3
4

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)

  测试:

  ?

1

[root@localhost conf]# python

  ?

1
2
3
4
5

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

  ?

1
2
3
4

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

  测试:

  ?

1

[root@localhost conf]# python

  ?

1
2
3
4
5

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
>>>

  六、测试全部

  ?

1
2
3
4
5

mkdr /www
cd /www
./usr/local/python/bin/django-admin.py startproject mytest
mytest
python manage.py runserver 0.0.0.0:8000

  效果如下:


  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

时间: 2024-10-17 08:39:12

在Linux系统上部署Apache+Python+Django+MySQL环境的相关文章

在Linux系统上查看Apache服务器的错误日志_Linux

错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不同,其错误/访问日志可能放在你系统中不同位置. 本文可以帮助你找到Linux上的Apache错误日志.Debian,Ubuntu或Linux Mint上的Apache错误日志位置 默认的错误日志 在基于Debian的Linux上,系统范围的Apache错误日志默认位置是/var/log/apache

在Linux系统上使用Bugzilla跟踪bug

对于负责提供支持的人而言,保持对问题.难题及其修订的跟踪,可能会是一项棘手的任务:不过,有一个完美的开源方案可以满足这一要求:Bugzilla.安装它之后,您就可以方便地跟踪 bug 了,并可在发现特定的问题和解决方案时得到通知.本文给出了在 Linux 系统上安装 Bugzilla 的逐步指南. Bugzilla 是一个缺陷或 bug 跟踪系统,这个系统能够让个人或者团队开发人员保持 对他们的产品中突出 bug 的跟踪.此类系统允许用户跟踪 bug 和代码修改,与其他队友沟通,提交和回顾修订补

如何在 Linux 系统上安装 Suricata 入侵检测系统

如何在 Linux 系统上安装 Suricata 入侵检测系统 随着安全威胁的不断发生,入侵检测系统(IDS)在如今的数据中心环境中显得尤为必要.然而,随着越来越多的服务器将他们的网卡升级到10GB/40GB以太网,对如此线路上的硬件进行计算密集型的入侵检测越来越困难.其中一种提升入侵检测系统性能的途径是多线程入侵检测系统,它将 CPU 密集型的深度包检测工作并行的分配给多个并发任务来完成.这样的并行检测可以充分利用多核硬件的优势来轻松提升入侵检测系统的吞吐量.在这方面有两个知名的开源项目,分别

ssh linux-从本机往虚拟机(linux系统)上传东西

问题描述 从本机往虚拟机(linux系统)上传东西 遇到一个特别匪夷所思的问题,本机安装了虚拟机,想用SecureCRT或WinSCP软件通过SSH协议把本机的JAR包上传到虚拟机,可就是传不上去,上传过程中软件如同死机一样没有反映.但上传word文档(小文件)就能传上去. 同事用他们的电脑用同样的方式连我的虚拟机就可以传我传不上的文件,请求下牛人们这是怎么回事,百思不得其解? 解决方案 是不是防火墙什么的过滤掉了啊?我猜测 解决方案二: 是不是本地杀毒软件拦截

Linux系统上架设一台高容量的POP3服务器

POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到互联网上的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的.本文将介绍如何使用开源软件Procmail和Qpopper,在Linux系统上配置一台可供大量用户使用的POP3服务器. 1.下载Procmail和

如何在Linux系统上安装Domino Server

前言 在Linux系统上安装Domino Server是一个小小的挑战,其实并没有大家想想的复杂,既然是商业性的软件,OEM早就为我们解决了安装的难度,还有就是选择自己熟悉的Linux发行版,各个发行版操作上还是有一定的区别的,这里选择最新的Ubuntu Server 13.04,尽量在Server版本的Ubuntu上安装,虽然说Desktop版本也可以. 安装 Unbuntu server 13.4 下载Ubuntu server镜像 http://releases.ubuntu.mirror

Linux系统上安装MRTG来监控网络流量

Multi Router Traffic Grapher------MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载. SNMP(imple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理.随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体

在Docker Swarm上部署Apache Storm:第2部分

[编者按]本文来自 Baqend Tech Blog,描述了如何在 Docker Swarm,而不是在虚拟机上部署和调配Apache Storm集群.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 点此查看<在Docker Swarm上部署Apache Storm:第1部分> 创建Swarm集群 如果一切顺利,那么你现在已经有了三台Ubuntu服务器,每个上面都运行了一个Docker守护进程.可以通过私有网络中的zk1.cloud和manager.swarm访问Ubuntu 1,或者

file-linux下的文件从一个电脑上拷贝到另外一个linux系统上时候有哪些数据一起被复制了?

问题描述 linux下的文件从一个电脑上拷贝到另外一个linux系统上时候有哪些数据一起被复制了? copy实现的机制是什么?拷贝一个文件的时候有哪些数据一起被复制了.(我的.sh文件拷贝到u盘上,然后又拷贝回来的时候,执行权限就丢失了) 解决方案 实现的机制不知道..肯定没有权限的,用chmod 加上就好. 解决方案二: 正常情况下是需要访问权限,读写权限的,但是拷贝到新的系统时可能当前系统没有执行权限,因为用户环境已经发生了变化.修改权限即可. 解决方案三: 缺省是不会复制的,你可以用tar