打开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模式吧。

原文地址:http://www.jb51.net/article/18993.htm

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

  1. 配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XXXXX' to ALLOWED_HOSTS,在setting.py中添加‘*”无效的原因

    配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XX ...

  2. Nodejs的安装配置及如何在sublimetext2中运行js

    Nodejs的安装配置及如何在sublimetext2中运行js听语音 | 浏览:4554 | 更新:2015-06-16 11:29 Nodejs的安装配置及如何在sublimetext2中运行js ...

  3. Ooui:在浏览器中运行.NET应用 Ooui.Wasm:浏览器中的.NET

    在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于Web和移动应用.由于Microsoft未来Windows平台的计划未定,并且UWP应用也没有突破性进展,因此技术落伍的责任也不应 ...

  4. 如何在浏览器中运行 VS Code?

    摘要: WEB IDE新时代! 作者:SHUHARI 的博客 原文:有趣的项目 - 在浏览器中运行 Visual Studio Code Fundebug按照原文要求转载,版权归原作者所有. 众所周知 ...

  5. 在浏览器中运行java applet

    最近在看java applet,在eclipse中可以正常运行,于是想试试在浏览器中运行.但途中遇到很多问题,网上很多解答也不全面,于是想把自己的解决过程记录下来. [1]首先,编写的applet程序 ...

  6. windows 配置 apache的多个站点

    windows 配置apache的多个站点 第一步打开apache的conf/extra/httpd-vhosts.conf,复制<VirtualHost></VirtualHost ...

  7. JS规则 编程练习 考考大家的数学,计算以下计算公式的结果。然后在浏览器中运行一下,看看结果是否跟你的结果一致。

    编程练习 考考大家的数学,计算以下计算公式的结果.然后在浏览器中运行一下,看看结果是否跟你的结果一致. 任务 第一步: 在  ? 处填写你的答案. 第二步: 填写完成后,运行一下,看看是不是跟你填写的 ...

  8. 【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?

    问题描述 在App Service中运行Python编写的定时任务,需要使用pymssql连接到数据库,但是发现使用 python.exe -m pip install --upgrade -r re ...

  9. 在notepad++中运行python代码

    #在notepad++中运行python代码 ''' 1.安装插件pyNPP, 2.允许插件pyNPP中的第一个和第二个选项即可,如果代码过少代码执行一闪而过,可能无法看到,可加入少量sleep时间即 ...

随机推荐

  1. hdu2587(递推)

    目前做过的最纠结的一道递推题. 情况比较多,比较复杂... 这题最主要的还是要推出当m=2 时和m>2时,用什么方法最优. 给个数据 n=3,m=2   需要48 n=3,m=3 需要81 如果 ...

  2. 【转】Gacutil.exe(全局程序集缓存工具)

    全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容. 安装 Visual Studio 和 Windows SDK 时会自动安装此工具. 要运行工具,我们建议您使用 Visual St ...

  3. Hibernate 检索(查询)策略

    1.立即检索 (查询) 立即检索就是在调用get方法的时候,会直接向数据库发出sql语句查询,并将结果放到session缓存中,在查询的时候会将级联的对象一对查出,(发出多条sql语句): 明显的缺点 ...

  4. django database relations

    注意Django的生成的默认api from django.db import models class Place(models.Model): ''' pass class Restaurant( ...

  5. Service Name Port Number Transport Protocol tcp udp 端口号16bit

    https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol The DHCP employs a connectionless  ...

  6. Echarts-雷达图

    // 显示能力雷达图 $(".company .grade").hover(function () { $(".powerChart").show(); var ...

  7. PHPExcel实现上传excel文件导入数据库

            项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...

  8. Android系统移植与调试之------->如何修改Android的默认语言、默认时区

    修改device/other/TBDG1073/ system.prop文件 1.设置默认语言 找到device/other/TBDG1073/ system.prop文件,修改属性ro.produc ...

  9. android自定义控件(三)ProgressBar

     1.ProgressBar有两个进度,一个是android:progress,另一个是android:secondaryProgress.比如视频的缓存进度以及播放进度. 在这里缓存的进度就可以是a ...

  10. Linux安装配置

    虚拟机配置Linux镜像文件 配置网路 防火墙 一.虚拟机配置Linux镜像文件 1.将下载好的Linux镜像文件载入进来 2.启动虚拟机,安装 3.此步为是否检测linux系统,我们选择" ...