2013-04-02 18 views
0

我已經繼承了在apache服務器上使用mod_wsgi運行的Flask應用程序。它沒有提供調試設置,因此我使用werkzeug.run_simple()方法創建了一個快速調試腳本來運行應用程序。我在將兩個mod_wsgi選項移植到腳本時遇到了問題。將配置從mod_wsgi移動到腳本以進行調試

WSGIPythonPath看起來更簡單。我不太確定它是如何工作的,但是這基本上是否將指定的路徑附加到PYTHONPATH環境變量?

WSGIScriptAlias是問題較多的一個。在Apache的配置是非常標準:

WSGIScriptAlias /myapp /path/to/myapp.wsgi 

這將打開的URL app.route('/login')/myapp/login。如何以WSGIScriptAlias的相同方式在wsgi腳本中爲所有網址加上/myapp

讓我知道你是否需要更多信息,並提前致謝。

回答

1

WSGIPythonPath確實將模塊追加到系統路徑。據其文檔它運行site.addsitedir對每個項目的當量(除非你正在運行的mod_wsgi 1.x中,在這種情況下,它確實的sys.path.append等效):

import site 

for p in list_of_paths: 
    site.addsitedir(p) 

這增加了每個條目sys.path它也掃描.pth文件的目錄,並將它找到的任何這樣的文件中的條目也添加到sys.path(這意味着卵子將按預期工作)。

WSGIScriptAlias,你可以簡單地設置configuration variable APPLICATION_ROOT在燒瓶中應用的config

app.config["APPLICATION_ROOT"] = "/myapp" 
+1

即使在mod_wsgi的1.X或多或少做同樣的事情。它是通過sys.path.append()完成的,但是這意味着.pth文件不被使用。 –

+0

@GrahamDumpleton - 你說的沒錯 - 我已經更新了句子。謝謝! –

相關問題