天天看點

在 IIS6.0 中配置 Python3.0 Web 運作環境

對于用 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>’)

    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 的賬戶和密碼。

本文轉自網眼51CTO部落格,原文連結:http://blog.51cto.com/itwatch/286500,如需轉載請自行聯系原作者