Windows 配置Apache以便在浏览器中运行Python script的CGI模式_Linux

现在因为已经安装了2.6的Python,以及支持2.6的Eric4,就不想再重新安装2.5来继续配置Apache下mod_python了。

后来发现了一篇文章Running Python as CGI in Apache in Windows ,讲述以CGI模式代替mod_python来运行python script。还有这篇Python for Windows 。

做法是:

打开httpd.conf,找到”#ScriptInterpreterSource Registry “,移除前面的注释# (如果找不到这行,就自己添加进去)
找到“Options Indexes FollowSymLinks ”这句,在后面加上”ExecCGI “。(那个”Indexes “最好也能去掉,因为如果不去掉的话,目录下面没有index.html这种文件,就会显示出目录列表下的所有文件,所以有安全漏洞问题。如果去掉Indexes,而且没有index.html文件的话,就会显示一个Forbidden页面)
找到”AddHandler cgi-script .cgi “,在后面加上 .py。如果没有这句,可以自己添加 “AddHandler cgi-script .py”
重新启动Apache即可 (有的时候restart会导致Apache死掉,所以碰到这种情况的人可以stop先再start)
然后创建一个test.py script,

print "Content-type: text/html"
print ""
print "<html><head></head><body>"
print "Hello World"
print "</body></html>"注意第二句print “”不能少,如果没有这句,会引起一个 “500 Internal Server Error” 错误。

在浏览器中运行http://localhost/test.py,Hello World两个字被输出后表明运行正常。

另外,有些错误提示如下:

没有添加ScriptInterpreterSource Registry,会出现500 Internal Server Error 错误。
没有添加ExecCGI,会出现403 Forbidden You don't have permission to access /test.py on this server 。
没有添加AddHandler cgi-script .py,那内容就会以text文本式样显示在浏览器中。
注 :

添加ScriptInterpreterSource Registry的用意是让Windows用Registry来找到Python的安装地方。
ExecCGI是让python script可以运行在任意目录下面,因为Apache默认是让cgi script运行在cgi-bin目录下。而我把test.py放到htdocs下运行就会出现403 Forbidden的问题。所以需要加上ExecCGI,这样就可以在htdocs下运行.py script了。但是ExceCGI会有安全漏洞的问题。用FastCGI会安全一些。但是前提是需要安装上FastCGI才可以。
CGI模式比mod_python模式要慢。所以以后有机会在别的电脑上再试试mod_python模式吧。

时间: 2024-09-18 05:42:00

Windows 配置Apache以便在浏览器中运行Python script的CGI模式_Linux的相关文章

谢谢-各位亲,帮帮忙看一下这个程序那里有问题,在浏览器中运行,rs.next()有错

问题描述 各位亲,帮帮忙看一下这个程序那里有问题,在浏览器中运行,rs.next()有错 这是dbBean页面 package com.regist; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Stateme

jsp-在浏览器中运行tomcat是空白页

问题描述 在浏览器中运行tomcat是空白页 项目运行的时候一直是404错误,后来改掉代码的一个错误,就会出现500的错误,现在又变成404,不是浏览器的问题还是tomcat有问题,但是tomcat又没有报错,不知道是什么原因项目运行的时候是500错误, 解决方案 z500是服务器错误,内部程序有异常等. 404是找不到页面,URL不准确. 解决方案二: 你报404时,TOMCAT还是会输出一些错误的信息的,仔细看看 解决方案三: 在你的tomcat目录下的webapps/root中增加一个a.

java web-JAVA web程序在浏览器中运行

问题描述 JAVA web程序在浏览器中运行 JAVA web程序在浏览器中是以插件的形式运行吗? 解决方案 如果是web程序,是要服务器的 但是java的swing.GUI等程序可以不用服务器运行 解决方案二: Java web项目部署后分为由服务器解释执行的,而浏览器充当的是客户端.Javaweb工程的底层是socket,浏览器作为客户端向服务器端发生请求,服务器处理请求并返回响应结果以HTML网页形式呈现.

x3d-X3D 如何在浏览器中运行

问题描述 X3D 如何在浏览器中运行 最近读了一篇关于X3DOM的文章,里面有一段代码是关于如何使用X3D的,代码内容很简单,但是我不知道为什么运行不了? <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xht

Apache拟在Docker中运行Hadoop

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;Apache在其Hadoop维基百科发布了一个页面,主要整理了Docker中运行Hadoop的好处,以及要完全在Docker中运行Hadoop所需要完成的工作.在Docker,或者说其它容器中运行Hadoop YARN有很多优势,具体如下: 软件依赖和配置的隔离:在Docker中运行的应用,其软件依赖和配置是与宿主机完全没有关系的,跟其其它行在Docker中的应用也没

arcgis server silverlight 在浏览器中运行加载到100%就不显示了

问题描述 <UserControlx:Class="_10_2.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/20

IE浏览器中动态创建script标签onload无效

代码  代码如下 复制代码   var loadJs = function(src, fun){     var script = null;     script = document.createElement("script");     script.type = "text/javascript";     script.src = src;     if(typeof fun === "function"){         scri

《像计算机科学家一样思考Python(第2版)》——1.2 运行Python

1.2 运行Python Python入门的挑战之一在于你可能需要自己在电脑上安装Python及相关软件.如果你熟悉自己的操作系统,而且习惯于命令行界面,那么安装Python不是什么问题.但对于初学者来说,同时学习编程和系统管理命令两件事,有时候是非常痛苦的. 为了避免这个问题,我推荐你开始先在浏览器中运行Python,等熟悉了Python语言之后,我再向你介绍如何在电脑上安装Python. 用于运行Python的网站有不少.如果你已经找到一个喜欢的,就可以直接去用.如果没有,我推荐Python

Silverlight访问Apache服务器(Tomcat,Geronimo)中部署的Webservice

开发环境 Vs2010 . Silverlight4 . Java Jdk1.6 U 21 . Apache-tomcat-6.0.20 . Myeclipse8.5 . Apache-ant-1.8.1 . Axis2 . Geronimo-tomcat6-javaee5-2.2 下载地址: Apache-tomcat : http://apache.ziply.com/tomcat/ Apache-ant   : http://apache.ziply.com/ant/ Axis2 : ht