對於用 Windows2003 Server 伺服器,想在 IIS 下嘗鮮 Python 的朋友,可以遵照以下步驟配置(以最新的Python3.0為例):
不像 PHP,可以有 ISAPI 和 CGI 兩種配置方法,Python 目前只能配置為以 CGI 方式與 IIS 進行整合。
1.開啟 IIS6 配置介面
2.在“Web 服務擴充”點右鍵,選擇“添加一個新的Web服務擴充”。在開啟的對話方塊中填入副檔名(可以任意),然後點擊要求的檔案欄的“添加”按鈕,找到你Python的安裝目錄,選中python.exe,然後按下面格式填寫:
C:/Python30/python.exe %s %s(我的Python裝在了C:/Python30),不要遺漏後面的 %s %s, 並注意空格。
新添加的 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 的賬戶和密碼。
張慶(網眼) 2009-4-3
來自“網眼視界”:http://blog.why100000.com
“十萬個為什麼”電腦學習網:http://www.why100000.com
CSDN部落格:http://blog.csdn.net/zhangking