您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么進行mod_Python模式與CGI模式對比,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
在Apache服務器下運行Python script的時候,沒有添加AddHandler cgi-script .py,那內容就會以text文本式樣顯示在瀏覽器中,希望本文能給大家帶來一些有用的信息。
發現Apache的mod_python版本還不支持Python 2.6更別說3.0.1了,只有2.5之下的,折騰著卸載和安裝,***還沒搞定,就先擱一邊了。現在因為已經安裝了2.6的Python,以及支持2.6的Eric4,就不想再重新安裝2.5來繼續配置Apache下mod_python了。
后來發現了一篇文章Running Python as CGI in Apache in Windows ,講述以CGI模式代替mod_python模式來運行python script。還有這篇Python for Windows 。做法是:打開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)
做法是:打開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模式吧。
以上就是怎么進行mod_Python模式與CGI模式對比,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。