我已經開始發現WSGI今晚,碰到了我無法完全理解的問題。我所做的是,我開始使用Apache + mod_wsgi並以嵌入模式運行我的WSGI「Hello World」應用程序。我剛剛指出了WSGIScriptAlias,重啓了Apache並且「Hello World」在那裏。Apache重新啓動後,Python WSGI應用無法重新加載?
然後,我繼續做了研究,結果發現,如果我在嵌入模式下使用WSGI程序,我將需要重新啓動Apache每次我做出一些改變,所以我改變了我的虛擬主機的配置時間,所以現在在守護程序模式下運行:
WSGIDaemonProcess wsgi-app processes=2 threads=15
WSGIProcessGroup wsgi-app
我已經重新啓動Apache的,但仍然 - 有我的「Hello World」的輸出,雖然我完全地改變了我的WSGI輸出不同的東西
def application(environ, start_response):
status = '200 OK'
if not environ['mod_wsgi.process_group']:
output = 'EMBEDDED MODE'
else:
output = 'DAEMON MODE'
response_headers = [('Content-Type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
任何人有任何解釋或連結幫我找出什麼出錯了? Apache甚至在單獨的進程下啓動了WSGI,還是在重啓後仍然處於嵌入模式?在我將其更改爲deamon模式之前,我做了這些更改,所以這不應該是真的?如果是這樣 - 即使WSGI解僱了它自己的進程,它也必須將輸出從「HelloWorld」更改爲新的?
很抱歉,如果這個問題是一個初學者的錯誤 - 我只是未能再次閱讀http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
感謝您的幫助後,它的意義:)