搭建Apache+web.py+mod_wsgi python服务器

来源:互联网 发布:exo小说软件下载 编辑:程序博客网 时间:2024/05/13 02:20

 

工作需要, 开始学习网站的的建设. 因为对Python很感兴趣,所以选定以Python为基础构建网站,因为网站要求不高,所以暂时不考虑性能方面的问题,主要还是为了学习Python.

 

对于Python,对于网站建设,都是一知半解,所以在博客中记录这些点点滴滴的技术知识吧.

 

首先, 说一下环境的搭建, 综合查询网上的资料,我选用Apache+mod_wsgi+web.py进行部署,操作系统用windows XP,方便些.很多Python教材上都说用mod_python,但是上mod_python的官网,发现他已经停止更新了,不能支持新的Python版本,mod_wsgi则可以看成是升级版的mod_python,据说性能要比mod_python,而且支持最新的Python版本.

 

首先收一下安装吧.

, 安装Python

       Python2.x3.x两大分支,跟主流走,选用2.x分支的, 2.x分支最新版本是2.7.3,可以从http://www.python.org/getit/下载.安装非常简单,这里就不多少了.

       安装完Python后记得在windows的系统环境变量中的Path中增加Python.exe所在的位置: C:\Python27, 方便以后直接命令行执行py文件.

 

. 安装Apache

      我这里选用的是Apache2.2,下载地址在http://www.fayea.com/apache-mirror/httpd/binaries/win32/,自有选择吧.我选的是httpd-2.2.21-win32-x86-no_ssl.msi,也是很简单的安装.装完后,系统的右下角会出现Apache的系统服务图标,这时,打开浏览器,输入http://127.0.0.1/后就会出现It works的页面, 证明Apache安装成功了.

 

. 安装mod_wsgi

       在这个页面下载http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so,对应的是Apache2.2+Python2.7.下载下来是一个so文件.经过2个步骤,即可把他安装成功.

1.      把这个so文件更名为mod_wsgi.so,然后拷贝到C:\Program Files\Apache Software Foundation\Apache2.2\modules目录下

2.      修改C:\Program Files\Apache Software Foundation\Apache2.2\conf下的httpd.conf文件,在该文件最后添加如下语句,语句的含义先不用理解

LoadModule wsgi_module modules/mod_wsgi.so

 WSGIScriptAlias/test2 D:/SW_Code/test/code2.py/

 AddType text/html .py

 <Directory D:/SW_Code/test>

    Order deny,allow

    Allow from all

 </Directory>

上面标红字的/test2指明我们访问的url后缀.D:/SW_Code/test/code2.py/指明访问该url时服务器用于响应处理的python文件,这个python文件就是我们python网站的最重要的代码文件.详细的文件代码分析后面详谈.

 

. 安装web.py

       web.py是一个基于pythonweb网站框架.下载地址http://webpy.org/static/web.py-0.37.tar.gz,解压后, cmd命令行切换到解压出的webpy目录,运行python setup.py install执行安装即可,使用web.py也很简单.python代码中import web就可以了.

  

. 试运行

1.承接上面的红字部分,D:/SW_Code/test目录建立code2.py.文件名和路径名都是自己定的,这个大家都知道.

2. code2.py的核心内容如下:很简单,显示最简单的字符串. "Hello, world!"

import web

 urls = (

     '/', 'hello'

     )

 class hello:

    def GET(self):

         return "Hello, world!"

 application = web.application(urls, globals()).wsgifunc()  #这行是标配,用到mod_wsgi都这样写,后面还会说到加装wsgiloglog信息,写法略有不同.

 

重启apache服务,在浏览器栏里输入:

http://127.0.0.1/test2

就会看到Hello, world.

 

至此, 我们的apache+python+web.py+mod_wsgi web服务器搭建完成.后面将会讲到:

  1. 模板;
  2. log;
  3. 等等等等.