对于用 Windows2003 Server 服务器,想在 IIS 下尝鲜 Python 的朋友,可以遵照以下步骤配置(以最新的Python3.0为例):
不像 PHP,可以有 ISAPI 和 CGI 两种配置方法,Python 目前只能配置为以 CGI 方式与 IIS 进行集成。
1.打开 IIS6 配置界面
2.在“Web 服务扩展”点右键,选择“添加一个新的Web服务扩展”。在打开的对话框中填入扩展名(可以任意),然后点击要求的文件栏的“添加”按钮,找到你Python的安装目录,选中python.exe,然后按下面格式填写:
C:\Python30\python.exe -u %s %s(我的Python装在了C:\Python30),不要遗漏后面的 %s %s, 并注意空格。-u是防止return返回的新行有时会出现一些问题。%s代表字符串,第一个是代码python程序名称(如index.py),后面一个则是指可能带的参数。
新添加的 web 扩展默认是“允许”的。
注意:本步也可以用打开“所有未知CGI扩展”的“允许”开关来实现,但因为开放了所有“未知CGI扩展”,所以是很不安全的。
3.点击“确定”完成这个步骤。
4.配置python页面的扩展名映射。
这一步的意思是说当用户请求某个特定扩展名的网页时,IIS用什么去解释这个网页
5.点击“网站”,找到你要执行Python页面的那个网站,点右键,点“属性”。
6.在打开的对话框中选中“主目录”,点击“配置”按钮。
7.在打开的“应用程序配置”对话框,“应用程序扩展”栏目下,点击“添加”按钮。
8.弹出“添加/编辑应用程序扩展名映射”对话框。
9.像上述一样找到你的python.exe文件,然后按照以下格式填到“可执行文件”文本框中:
“C:\Python30\python.exe” %s %s
注意可执行文件路径要加引号。
10.在“扩展名”栏填入想要使用的扩展名,一般是 .py。
11.在“动作”里填入想要允许用户执行的操作,比如GET等,一般可以选“全部动作”。
12.点击“确定”完成本步。
测试:
接下来就试验下吧。编写一个index.py文件:
print (’Status: 200 OK’)
print (’Content-Type: text/html’)
print (”)
print (’<html><head><title>Hello Python3.0</title></head>’)
print (’<body>’)
print (’<h1>Hello, Python3.0!</h1>’)
print (’<H1>This is a Topic</H1><br>’)
print (’<p>this is a comment<br>’)
print (’See this is just like most other HTML’)
print (’</body>’)
print (’</html>’)
在浏览器里输入网址,网址根据你的Web环境具体确定,例如 http://localhost/index.py,打开该页面,应该显示:
Hello, Python3.0!
This is a Topic
this is a comment
See this is just like most other HTML
可能存在的问题:
1.找不到网页
这个错误的发生是因为遗漏了配置CGI扩展的步骤。
2.CGI Error
出现错误:The specified CGI application misbehaved by not returning a complete set of HTTP headers.
这个错误的原因,最可能的是,忘记了每个Python网页在开始输出 Html 代码前,都需要用 print(”) 输出一个空行。
另一个原因是 Python 脚本存在语法错误,需仔细检查。
注意,Python 3.0 里已经不允许
print ’string…’
这样的语句了,因为 print 现在已经是一个函数,必须写成
print (’string…’)
3.python.exe 文件必须给 Internet 用户(用户名形如 IUSR_….)加上读取和执行的权限,不然会在浏览器端弹出个对话框,要求输入 Windows 的账户和密码。
http://blog.51cto.com/itwatch/286500