如何在Apache下设置Python(WIN,CGI方法)

关于Python,本人不想多说了,如果不知道什么是Python,可以看《什么是Python
?》一文。Python可以开发CGI程序,那么在Apache下应如何配置呢?本文只讲述了如何
以CGI方式配置Apache,使其支持Python程序。其它方式,如mod_python则不在讨论范围
(其实是没配成功:-)。我所使用的系统环境为Windows 2000, Apache 1.3.19,Python
2.1版。
准备
  首先检查以下要求是否已经达到:
Apache已经安装,并且可以正常使用
Python已经安装,并且可以正常使用(在我的环境下,Python安装目录为c:/servers/py
thon)
  好,如果一切正常,下面就开始了。
配置
  修改DocumentRoot
打开Apache安装目录下的conf子目录的httpd.conf文件。可以修改DocumentRoot为"C:/
Inetpub/wwwroot"。当然你可以按需要改成其它值。
  允许任意目录执行CGI
  这个设置是允许被设目录及其子目录下的CGI程序可以CGI方式运行。在Apache中,
尽管你可能已经设置了CGI文件后缀,但是如果未设置允许CGI程序运行选项,则无法运
行CGI程序。
  设置C:/Inetpub/wwwroot目录属性:

Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all

  其实我并未重新设置新的目录属性,而是将DocumentRoot的目录属性(原来指向Apa
che安装目录下的htdocs目录,我改成为C:/Inetpub/wwwroot了)增加了ExecCGI一项。
  只允许特别目录执行CGI
  也可以只允许特别目录下可以执行CGI程序。与上一步可以同时执行,也可两种任选
其一。只要设置:
ScriptAlias /cgi-bin/ "C:/Inetpub/wwwroot"
  即可。
  增加CGI文件名后缀
  修改 AddHandler cgi-script 一句为 AddHandler cgi-script .cgi .py。即让Ap
ache知道.py的文件为CGI程序
  好了,到此Apache就配置好了,先启动Apache,然后进行测试。
测试
  Python本身不象PHP,不是一种嵌入式脚本(这种脚本比较适合做Web后端程序),所
以所有输出要自已做。
1 #!c:/servers/python/python.exe
2 print "Content-type: text/html"
3 print
4 print "

hello,world!

"
  第1行是让脚本以CGI方式运行必需的(这里是我的环境,记得吗?我前面说了Pytho
n是装在c:/servers/python下的),告诉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网站上说的。

转自:http://hi.baidu.com/xzkcz/blog/item/44439dee30b3342e2df534af.html

你可能感兴趣的:(Python,python,cgi,apache,html,脚本,windows)