apachepython(apachepython服务器)

http://www.itjxue.com  2023-02-21 02:40  来源:未知  点击次数: 

如何在Apache下设置Python

关于Python,本人不想多说了,如果不知道什么是Python,可以看《什么是Python?》一文。Python可以开发CGI程序,那么在Apache下应如何配置呢?本文只讲述了如何以CGI方式配置Apache,使其支持Python程序。其它方式,如mod_python则不在讨论范围(其实是没配成功:-)。我所使用的系统环境为Windows 98, Apache 1.3.19,Python 2.1版。

准备

首先检查以下要求是否已经达到:

Apache已经安装,并且可以正常使用

Python已经安装,并且可以正常使用(在我的环境下,Python安装目录为d:\python21)

好,如果一切正常,下面就开始了。

配置

修改DocumentRoot

打开Apache安装目录下的conf子目录的httpd.conf文件。可以修改DocumentRoot为"f:/phpsite"。当然你可以按需要改成其它值。

允许任意目录执行CGI

这个设置是允许被设目录及其子目录下的CGI程序可以CGI方式运行。在Apache中,尽管你可能已经设置了CGI文件后缀,但是如果未设置允许CGI程序运行选项,则无法运行CGI程序。

设置f:/phpsite目录属性:

Options Indexes FollowSymLinks MultiViews ExecCGI

AllowOverride None

Order allow,deny

Allow from all

其实我并未重新设置新的目录属性,而是将DocumentRoot的目录属性(原来指向Apache安装目录下的htdocs目录,我改成为f:/phpsite了)增加了ExecCGI一项。

只允许特别目录执行CGI

也可以只允许特别目录下可以执行CGI程序。与上一步可以同时执行,也可两种任选其一。只要设置:

ScriptAlias /cgi-bin/ "f:/phpsite/cgi-bin/"

即可。

增加CGI文件名后缀

修改 AddHandler cgi-script 一句为 AddHandler cgi-script .cgi .py。即让Apache知道.py的文件为CGI程序

好了,到此Apache就配置好了,先启动Apache,然后进行测试。

测试

Python本身不象PHP,不是一种嵌入式脚本(这种脚本比较适合做Web后端程序),所以所有输出要自已做。

1 #!d:/python21/python.exe

2 print "Content-type: text/html"

3 print

4 print "

hello,world!

"

第1行是让脚本以CGI方式运行必需的(这里是我的环境,记得吗?我前面说了Python是装在d:/python21下的),告诉Apache如何找到此文件的解释程序。

第2,3行是告诉浏览器输出内容的MIME格式。这里为输出HTML文本。

第4行,输出"hello,world!"。其实不输出HTML的标记头浏览器也可以正常显示,尽管它不是完整的HTML格式。

如果测试成功,则一切大功告成。如果不行,听天由命吧(可以给我发信,咱们共同解决)。

后话

在SourceForge网站上,有一个名字mod_snake的项目。它同mod_python一样提供了针对Apache的Python模块化处理,但是mod_snake支持HTML文档嵌入Python标记,有点象PHP。不过现在它只支持Linux,而没有Windows下的版本。唉,我一定要转到Linux下面去!使用CGI方式调用Python速度不是很快,而如果使用mod_python则速度可能要快几十倍。这个不是我测出来的,是mod_python网站上说的。

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦

怎么让apache2能运行Python

在Ubuntu中,采用 sudo apt-get install apache2 安装apache服务后,是不会带Apxs,需要安装 apache2-dev。其命令是:sudo apt-get install apache2-dev

安装完后查看安装的路径: whereis apxs2

如果在安装Mod_pythond的make过程出现这样到错误:fatal error: Python.h: No such file or directory,可以安装python2.7-dev(装的是V2.7)解决,命令为:sudo apt-get install python2.7-dev

Apxs的默认位置:usr/bin/apxs,但在ubuntu11版本中已经是usr/bin/apxs2

Mod_python模块的安装:

现在可以正式安装Mod_python模块了。

1.首先从Mod_pythod()官网上下载文件,其文件名为:mod_python-3.3.1.tgz(我下的是3.3.1版本的)。然后,对这个文件进行解压操作:tar -zxvf /home/cosmos/mod_python-3.3.1.tgz (其中的目录可以自己放置)。

2.解压后通过cd mod_python-3.3.1命令进入mod_python-3.3.1这个文件夹。

3.进行Apxs目录配置, 命令为:./configure --with-apxs=/usr/bin/apxs2。

4.进行Python本地配置,命令为:./configure --with-python=/usr/bin/python2.7(自己装的Python是2.7版本的)。

7.安装完成后会在/usr/lib/apache2/modules/生成mod_python.so这个文件,需要把它加载到apache2的配置文件中。修改/etc/apache2/httpd.conf文件,增加这么一行内容:LoadModule python_module /usr/lib/apache2/modules/mod_python.so。然后,再重启apache服务就可以了。

如何让Apache像支持Php那样支持Python?

第一步:先下载安装mod_python-3.3.1.win32-py2.5-Apache2.2.exe这个apache的模块选择apache的安装目录,会在modules中生成mod_python.so这个文件

第二步:修改apache下的http.conf文件加入

LoadModule python_module modules/mod_python.so

Directory E:\WampServer\www\python

AddHandler mod_python .py

PythonHandler test

PythonDebug On

/Directory

test.py

from mod_python import apache

def handler(req):

req.content_type = 'text/plain'

req.write("Hello World!")

return apache.OK

如果输出hello world 就成功了

(责任编辑:IT教学网)

更多

推荐浏览下载文章