2017-08-17 35 views
0

我沒有任何運氣讓這個工作。在apache上部署瓶口應用工廠

的正常工作看起來像這樣

我run.py文件:

from dpc import create_app 

if __name__ == '__main__': 
    app = create_app("config.py") 

    app.run("0.0.0.0",debug=True,port=666,threaded=True) 

在__init__.py我的應用程序的工廠是這樣的:

def create_app(config_filename): 
    app = CustomFlask(__name__) 
    from dpc import mongo_models 
    app.config.from_pyfile(config_filename) 
    app.register_blueprint(retrieve, url_prefix="/retrieve") 
    return app 

和我的WSGI文件看起來像這樣:

import sys 
import os 

sys.path.insert(0, 'C:/dpc') 

from dpc import create_app 
app = create_app("config.py") 

我的httpd.conf文件中有這樣的:

<VirtualHost *:666> 
    ServerName DPC 

    WSGIScriptAlias/C:/dpc/dpc/dpc.wsgi 

    <Directory C:\dpc > 
     Options All 
     AllowOverride None 
     Require all granted 
    </Directory> 

</VirtualHost> 

我有一個非應用程序的工廠燒瓶應用程序在Apache上運行良好,多年來一直很愉快,但這一個給我沒有錯誤,並沒有返回任何東西。我一直在嘗試各種更改,並在過去幾個小時內尋找解決方案,但無濟於事。有任何想法嗎?

回答

1

中不能使用相對路徑的配置文件:

app = create_app("config.py") 

它必須是一個絕對路徑。

閱讀:

如果你正在空空的回來階躍響應,或者掛起,也儘量設置:

WSGIApplicationGroup %{GLOBAL} 

閱讀:

在WSGI腳本文件中的WSGI應用程序入口點也應設置爲:

application = create_app("c:/dpc/dpc/config.py") 

換句話說,application而不是app。這是因爲mod_wsgi尋找application。如果沒有完成,你將得到404響應,但也可能是Apache錯誤日誌中的錯誤。

+0

嗯,這兩個變化都沒有影響。我將config.py改爲c:\ dpc \ dpc \ config.py。我將刪除對config.py部分的依賴,以查看它是否有影響。 – danspants

+0

你在代碼中究竟如何添加路徑?除非使用原始字符串,否則不能在路徑中使用反斜槓。最好使用正斜槓。 –

+0

請參閱有關WSGI應用程序對象的名稱的進一步修復。確保你正在檢查Apache錯誤日誌。將''LogLevel info''添加到Apache配置中,然後檢查錯誤日誌。應該顯示如果mod_wsgi獲取請求並在請求到達時加載WSGI腳本。 –

相關問題