Windows 配置Apache以便在浏览器中运行Python script的CGI模式
打开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模式的更多相关文章
- 配置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 ...
- Nodejs的安装配置及如何在sublimetext2中运行js
Nodejs的安装配置及如何在sublimetext2中运行js听语音 | 浏览:4554 | 更新:2015-06-16 11:29 Nodejs的安装配置及如何在sublimetext2中运行js ...
- Ooui:在浏览器中运行.NET应用 Ooui.Wasm:浏览器中的.NET
在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于Web和移动应用.由于Microsoft未来Windows平台的计划未定,并且UWP应用也没有突破性进展,因此技术落伍的责任也不应 ...
- 如何在浏览器中运行 VS Code?
摘要: WEB IDE新时代! 作者:SHUHARI 的博客 原文:有趣的项目 - 在浏览器中运行 Visual Studio Code Fundebug按照原文要求转载,版权归原作者所有. 众所周知 ...
- 在浏览器中运行java applet
最近在看java applet,在eclipse中可以正常运行,于是想试试在浏览器中运行.但途中遇到很多问题,网上很多解答也不全面,于是想把自己的解决过程记录下来. [1]首先,编写的applet程序 ...
- windows 配置 apache的多个站点
windows 配置apache的多个站点 第一步打开apache的conf/extra/httpd-vhosts.conf,复制<VirtualHost></VirtualHost ...
- JS规则 编程练习 考考大家的数学,计算以下计算公式的结果。然后在浏览器中运行一下,看看结果是否跟你的结果一致。
编程练习 考考大家的数学,计算以下计算公式的结果.然后在浏览器中运行一下,看看结果是否跟你的结果一致. 任务 第一步: 在 ? 处填写你的答案. 第二步: 填写完成后,运行一下,看看是不是跟你填写的 ...
- 【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
问题描述 在App Service中运行Python编写的定时任务,需要使用pymssql连接到数据库,但是发现使用 python.exe -m pip install --upgrade -r re ...
- 在notepad++中运行python代码
#在notepad++中运行python代码 ''' 1.安装插件pyNPP, 2.允许插件pyNPP中的第一个和第二个选项即可,如果代码过少代码执行一闪而过,可能无法看到,可加入少量sleep时间即 ...
随机推荐
- 《PhotoShop CS6 》第一节 矢量与分辨率
分辨率:不一定是方形,可以调整其比例. 色彩模型:色相Hue(圆周,冷暖相接),饱和度Saturation(半径),明度Brightness(轴,从黑到白).
- css 变手
用css 添加手状样式,鼠标移上去变小手,变小手 用css 添加手状样式,鼠标移上去变小手,变小手 cursor:pointer; 用JS使鼠标变小手onmouseover(鼠标越过的时候) onmo ...
- 【BZOJ2799】[Poi2012]Salaries 乱搞
[BZOJ2799][Poi2012]Salaries Description 给出一棵n个结点的有根树,结点用正整数1~n编号.每个结点有一个1~n的正整数权值,不同结点的权值不相同,并且一个结点的 ...
- L - Sum It Up(DFS)
L - Sum It Up Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Descr ...
- <2013 07 29> 游泳
7月12日,在巴塞罗那的海滩学会用狗刨式游泳. 7月14日,在尼斯-戛纳海滩继续练习,稍式蛙泳仰泳. 7月28日,在慕尼黑某湖边吃烧烤,下湖练习. 7月29日,在慕尼黑奥林匹克游泳馆学会了仰泳,稍试自 ...
- tomcat 的 Pipeline 机制
一.server.xml 在每个容器对象里面都有一个pipeline,Pipeline就像是每个容器的逻辑总线. <Host name="localhost" appBase ...
- ACM解题之(ZOJ 2212) Argus
题目来源: 点击打开题目 题目翻译: 数据流是实时的,连续的,有序的项目序列.一些例子包括传感器数据,互联网流量,金融代码,在线拍卖以及诸如网络使用日志和电话记录之类的交易日志.同样,对流进行的查询在 ...
- python——异常
一.什么是异常 1.错误 从软件方面来说,错误是语法或是逻辑上的.错误是语法或是逻辑上的. 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译.这些些错误必须在程序执行前纠正. 当程 ...
- Django 进阶篇之 Form验证
Django Form验证 在实际的生产环境中比如登录和验证的时候,我们一般都使用Jquery+ajax来判断用户的输入是否为空,假如JS被禁用的话,咱们这个认证屏障是不是就消失了呢?(虽然一般不会禁 ...
- JAVA ArrayUtils 数组工具类
package com.sicdt.library.core.utils; import java.util.ArrayList; import java.util.Arrays; import ja ...