麦包包在网站建设方面/北京seo设计公司

   日期:2024-12-27    作者:czdytfhm4 浏览:70    移动:http://w.yusign.com/mobile/quote/7426.html

搭建一个简单的Python的Web环境 之前一直都是采用PHP做Web服务器环境,目前一个项目中需要用到python的一个第三方库(Beautifual Soup ),但是又希望这个服务以Web服务形式提供,苦寻了好久,没找到php中有对应的库,只好另辟蹊径,采用python来搭建一个web服务。

由于项目的需求对web服务要求很简单,不涉及到复杂的网页、session处理,在网上查了一圈,发现采用mod_python方式是最简单的。基本上就是Apache + Python + mod_python的组合,mod_python是Apache和Python之间的桥梁。

本文所使用的软件版本如下:

python-2.6.6.msi

apache_2.2.9-win32-x86-no_ssl-r2.msi

Django-1.2.tar.gz

mod_python-3.3.1.win32-py2.6-Apache2.2.exe

MySQL-python-1.2.2.win32-py2.6.exe

安装步骤

安装注意事项 :mod_python对apache和python的版本都有比较严格的需求,所以安装时需要找对正确的版本。我安装的是 mod_python-3.3.1.win32-py2.6-Apache2.2 ,对应的python版本是2.6,Apache版本是2.2.

1.安装python

麦包包在网站建设方面/北京seo设计公司

到python官方网站下载,如2.6.6。

Python在Windows上安装后并没有自动注册环境变量,所以在命令行里直接键入Python并不会启动   Python命令行程序,此时需要在系统中注册Python环境变量。

Python的安装路径为

C:Python26

环境变量注册

我的电脑->属性->高级->环境变量->系统变量

双击PATH项,修改PATH的值为

C:Python26;

检测是否安装成功

运行-cmd,输入python,如果顺利进入python则说明安装成功

2.安装Django

http://tortoisesvn.sourceforge.net/ 下载tortoisesvn

签出http://code.djangoproject.com/svn/django/trunk/django

Copy django 到 C:Python26Libsite-packages

Copy C:Python26Libsite-packagesdjangobindjango-admin.py 到 C:Python26Scripts。

cmd,键入python

>>>import django

>>>django.VERSION

>>>import django

>>>django.VERSION

添加系统环境变量:

C:Python26Libsite-packagesdjangobin;

正常应该可以看到django的版本信息

Django也可以采用另外一种安装方式

建议用第二种方式,先配置好当前Python版本的环境变量,然后执行安装脚本。

3.安装Apache Server

先从apache网站上下载版本,我下载的是Apache2.2.14 版本,安装也基本上是一路缺省设置,中间有一个步骤是填写域名、管理员信息的,随便填一个就行了。还有一个步骤选择所有人还是只有当前用户使用时,可以随便选择一个,二者就是端口的差别了。

安装完毕后,选择开始-->Apache HTTP Server 2.2-->Control Apache Server--> Start Apache in Console.启动Apache Server.然后在浏览器中进行测试。http://localhost:8080(端口根据你的选择有变化).如果一切正常应该会出现It Works字样了。

apache server2.2下载地址

4.安装mod_python

下载mod_python . 安装时会自动检测到python的安装位置。但是需要手动选择apache的安装位置。选择到apache2.2这一层(我的电脑是C:Program FilesApache Software FoundationApache2.2).mod_python在python的lib目录下增加了一些库,同时在Apache的modules目录下增加了mod_python.so库。

Mod_python是apache 中支持Python CGI的模块。直接下载win32版的安装程序安装即可,我用的是Apache Mod_python 3.3.1。安装程序会自己找到Python的安装目录,在Python的Libsite-packagesib下增加目录mod_python。

5.数据库驱动程序安装

Web程序如果需要访问数据库,必须安装相应数据库的驱动程序。我用的是MySQL数据库,直接下载win32版安装即可,我用的是MySQL-python-1.2.2.win32-py2.6.exe

。安装程序会在Python的Libsite-packagesib下增加目录MySQLdb。

参考目录

配置apache

1. 增加mod_pythonmod_python不会自动修改配置文件。要想apache知道如何解析.py文件,就需要在apache的httpd.conf文件中进行一些配置。在httpd.conf文件中有一堆LoadModule命令,我们增加一行

#

#LoadModule logio_module modules/mod_logio.so

LoadModule log_config_module modules/mod_log_config.so

#LoadModule log_forensic_module modules/mod_log_forensic.so

#LoadModule mem_cache_module modules/mod_mem_cache.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule negotiation_module modules/mod_negotiation.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule ssl_module modules/mod_ssl.so

#LoadModule status_module modules/mod_status.so

#LoadModule substitute_module modules/mod_substitute.so

#LoadModule unique_id_module modules/mod_unique_id.so

#LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule version_module modules/mod_version.so

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule python_module modules/mod_python.so

这一行,主要功能是加载mod_python.so库。

2. 配置虚拟目录。

类似于Apache服务器的其他语言配置。在Httpd.conf文件中增加一个目录块。

AddHandler mod_python .py

PythonHandler fetchpage

PythonDebug On

其中fetchpage是.py文件名

3. 编写一个测试文件。保存在/htdocs/test目录下,文件名和上面配置文件中保持一致。

from mod_python import apache

def handler(req):

req.content_type = 'text/plain'

req.write("Hello World! ")

return apache.OK

本文地址:http://w.yusign.com/quote/7426.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号