2017-04-05 167 views
1

問題出在這裏。 我想部署我的燒瓶應用程序在apache2.4服務器使用mod_wsgi.After配置,我的apache服務器開始在我的電腦上運行。但是當我訪問http://127.0.0.1:5000/頁面不顯示爲我的願望在windows上的apache上運行燒瓶

這是我的燒瓶代碼

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return "Hello World!" 

if __name__ == '__main__': 
    app.run(port=5000) 

這是我的虛擬主機配置

<VirtualHost *:5000> 
     ServerAdmin [email protected] 
     DocumentRoot C:\flask  
     WSGIScriptAlias/C:\flask\test.wsgi 
     <Directory "C:\flask"> 
     Require all granted 
     Require host ip 
     Allow from all 
     </Directory> 
</VirtualHost> 

我的wsgi代碼。

import sys 

#Expand Python classes path with your app's path 
sys.path.insert(0, "C:/flask") 

from test import app as application 

#Put logging code (and imports) here ... 

#Initialize WSGI app object 
application = app 

的頁面是這樣的: It says 'Internal Server Error'.

謝謝大家!

+0

Apache錯誤日誌說什麼?如果沒有,請將'app.debug = True'添加到WSGI腳本文件中,以查看Flask是否會在Flask生成時顯示錯誤的詳細信息。 –

+0

您是如何在非UNIX平臺上安裝mod_wsgi的? – mmenschig

+0

@GrahamDumpleton詢問這個問題後,我轉向apache錯誤日誌,發現它說「名稱」應用程序'沒有定義「,所以我刪除了wsgi代碼中的'as application',它工作正常! – coma

回答

0

刪除代碼

#Initialize WSGI app object
application = app

也許它的工作原理

+0

忘了最後是怎麼解決的了,似乎是虛擬主機的問題。I forgot how it was solved at last, seems like the virtual host was wrong. – coma

0

首先從test.wsgi文件中刪除最後一行。

(即應用程序=)

然後檢查http://127.0.0.1:5000/,如果它工作再出色,

如果沒有的話,在httpd.conf文件的底部添加以下行。

WSGIScriptAlias/C:\flask\test.wsgi 
<Directory C:\flask> 
    Require all granted 
</Directory> 

然後再檢查http://127.0.0.1:5000/。它肯定會工作。