2013-07-17 53 views
0

我有興趣製作一個非常基本的Python webapp,它實際上只是一個表單,它接受一些輸入,在該輸入上調用Python函數,接收從該函數返回的結果,然後使用網頁開發技巧使它們看起來很漂亮。我已經看到了許多使用CherryPy,flask,bottle,web.py的解決方案,所有這些都很棒,但是我還沒有看到其中任何一個實際使用Apache的示例。他們似乎都是這個全能的網絡服務器框架,這對我來說完全是過度的,而不是我所需要的。我已經在這裏運行Apache了,所以不用啓動第二個Web服務器,而必須擔心讓它繼續運行,所以我寧願讓Apache整天提供一切服務。Python + mod_wsgi/mod_python + Apache + user's public_html

我們有相當標準http://myserver.com/~user/設置與public_html迪爾斯在/home/user,但對我的生活我無法弄清楚如何創建調用供應並有Python代碼實際執行一個Python功能的頁面當瀏覽到http://myserver.com/~user/。現在我們假設mod_python甚至mod_wsgi設置正確......我需要在我的最後做些什麼?我是否需要通過一個PHP exec()來調用我的腳本,這對我來說首先要擊敗mod_python的需求,還是有更優雅的解決方案(實際上使用mod_python)?

回答

0

你的Python腳本的概念是完全錯誤的。不要像對待PHP腳本,你可以有

<html> 
<?php 
echo "<title>Hello World</title>"; 
?> 
</html> 

mod_php會分析它,並執行PHP代碼,以形成最終的HTML頁面。

最好說你有Python應用程序,其中mod_pythonmod_wsgi爲Apache提供接口(網關)來與你的應用程序進行通信。

如果可以編寫沒有框架的python web應用程序,我已經被問了很多次了。當然,你可以但你必須處理HTTP會議和骨頭,如標題和響應代碼。看看http://lucumr.pocoo.org/2007/5/21/getting-started-with-wsgi/

所以我建議使用框架。

如果你不想像deamon那樣運行你的應用程序,比如說這個頁面http://flask.pocoo.org/docs/deploying/mod_wsgi/。它顯示瞭如何運行Apache應用程序和mod_wsgi

+0

感謝您的鏈接。我知道它不完全像PHP,但是從框架的所有這些例子中,我知道可以調用一個Python函數而不用PHP或甚至ajax包裝它。但是,我有一個問題來自第二個環節......配置是全球性的,對嗎?所以這行:'WSGIScriptAlias/var/www/yourapplication/yourapplication.wsgi'將需要爲每個'〜user'的每個應用程序添加,對,就像'/home/user/public_html/yourapplication/yourapplication.wsgi '? – dmn

+1

只需使用'WSGIScriptAliasMatch' https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIScriptAliasMatch。這樣你就不需要配置每一個應用程序。 – twil

+0

GOT IT。我會確保我們的系統管理員已經設置好了。非常感謝。 :) – dmn

相關問題