在Windows平台的Apache中配置Python

來源:互聯網
上載者:User

要在Windows平台的Apache中使用Python,當然必須得先安裝Apache和Python。Apache我使用的是XAMPP,而Python則隨便一搜,就可以找到下載連結。由於這個解決方案要通過安裝Apache模組mod_python來實現,而mod_python的目前的版本3.3.1隻支援Apache 2.2和Python 2.5,所以不得不先缷載已經裝好的Python 3.0,重新下載安裝了Python 2.7。mod_python是一個Apache模組,它可以將Python解譯器嵌入到Apache伺服器中(詳情可以看這裡)。

讓Apache支援Python的過程很簡單,只要3步。

  1. 下載mod_python模組安裝程式(注意檔案名稱後面Python和Apache的版本號碼要與自己已經安裝的版本一致;檔案名稱前面的版本號碼則是mod_python的,檔案名稱樣本:mod_python-3.3.1.win32-py2.5-Apache2.2.exe),然後安裝,安裝嚮導會自動找到Python路徑,但可能需要我們手工指定Apache路徑,安裝到最後,嚮導還會提示你如何修改Apache設定檔(參見下一步)並給出了後續步驟的英文說明。
  2. 讓Apache載入mod_python模組。在Apache安裝目錄下找到其設定檔apache/conf/httpd.conf,開啟,搜“LoadModule”,找到載入模組的地方,然後添加一條語句:LoadModule python_module modules/mod_python.so,重新啟動Apache。
  3. 在htdocs目錄下建立一個目錄,如:“py”。進入py目錄,建立一個文字檔,並命名為“.htaccess”,加入下列3條指令:
    1 AddHandler mod_python .py
    2 PythonHandler mptest
    3 PythonDebug On

    這裡第一條指令是將所有URL末尾為.py的請求轉寄給mod_python處理常式,mod_python接收到請求之後再尋找適當的PythonHandler處理常式。第二條指令只定義了一個mptest處理常式。最後一條是啟用Python代碼調試功能,以便在代碼運行出錯時輸出Python解譯器返回的錯誤。

完成以上3步之後,就可以編寫Python檔案並進行測試了。在py目錄下建立 mptest.py 檔案,開啟後添加如下代碼:

1 from mod_python import apache
2  
3 def handler(req):
4     req.content_type = 'text/plain'
5     req.write("Hello World!")
6     return apache.OK

儲存。開啟瀏覽器,輸入http://localhost/py/mptest.py,斷行符號。看到“Hello World!”了嗎?

實際上,由於前面只明確將mptest設定為處理常式,所以無論瀏覽器URL中的.py檔案名稱是什麼(如:login.py、default.py),都將被轉寄給mptest.py檔案來處理,都會返回“Hello World!”。怎麼辦呢?長話短說,可以將上面第3步中的代碼替換成如下所示:

1 AddHandler mod_python .py
2 PythonHandler mod_python.publisher
3 PythonDebug On
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.