2011-07-13 69 views
1

因此,我有一個新的mac,我試圖讓它運行mod_python,mod_wsgi和django的Apache。我有一個測試test.py,僅僅包含:讓apache在mac上運行python

#!/usr/bin/python 
print "Content-type: text/html" 
print 
print "<html><head>" 
print "" 
print "</head><body>" 
print "Test Page" 
print "</body></html>" 

我剛剛下載xcode4,使用的MacPorts通過這些網站上提供的步驟安裝Apache,PHP5,並mod_wsgi的: http://www.phpied.com/installing-php-and-apache-on-mac-osx-that-was-pretty-easy/http://heisel.org/blog/2009/09/25/mod-wsgi-mac/

然而,當我運行test.py我只看到純文本文件。有什麼我失蹤?

回答

0

我認爲您期待WSGI像PHP或CGI一樣工作。它有點不同...

問題1:這是一個Python腳本,但它不是一個WSGI腳本。 WSGI腳本將定義一個可調用的應用程序對象(嚴格意義上的「對象」,您不需要類)。請參閱WSGI PEP(link),特別是「應用程序/框架方」。該應用程序對象將是這樣的:

def application(env, startresp): 
    path = env['PATH_INFO'] 
    startresp('404 Not Found', [('Content-Type', 'text/plain;charset=utf-8')]) 
    return ['The page at {!r} was not found'.format(path)] 

問題2:的說明是關於如何安裝Django。看起來你並沒有使用Django。您需要在您的Apache配置中提供自己的WSGIScriptAlias行。在教程中,它看起來像這樣:

WSGIScriptAlias/"/Users/YOUR-USERNAME-HERE/Code/wsgi_apps/local.yourdomain.com.wsgi" 

但是,你必須自己弄清楚這一點。

附加說明: WSGI從未真正爲應用程序開發人員編寫。你可以直接使用它,但它更適合你。選擇一個框架。