2015-01-10 148 views
2

我有一個基本的燒瓶項目,我將其部署到heroku。 並且頁面返回500內部服務器錯誤。我沒有使用數據庫。 這裏是我的日誌:heroku上的Flask項目返回500內部服務器錯誤

2015-01-10T23:40:03.161880+00:00 heroku[web.1]: Starting process with command `gunicorn print:app --log-file=-` 
2015-01-10T23:40:03.827603+00:00 app[web.1]: [2015-01-10 23:40:03 +0000] [2] [INFO] Using worker: sync 
2015-01-10T23:40:03.827516+00:00 app[web.1]: [2015-01-10 23:40:03 +0000] [2] [INFO] Listening at: http://0.0.0.0:5144 (2) 
2015-01-10T23:40:03.835308+00:00 app[web.1]: [2015-01-10 23:40:03 +0000] [8] [INFO] Booting worker with pid: 8 
2015-01-10T23:40:03.887218+00:00 app[web.1]: [2015-01-10 23:40:03 +0000] [9] [INFO] Booting worker with pid: 9 
2015-01-10T23:40:03.826883+00:00 app[web.1]: [2015-01-10 23:40:03 +0000] [2] [INFO] Starting gunicorn 19.1.1 
2015-01-10T23:40:04.268774+00:00 heroku[web.1]: State changed from starting to up 
2015-01-10T23:41:19.847544+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=a2450ab9-3183-473f-aa0e-8e970b266b28 fwd="88.238.99.0" dyno=web.1 connect=1ms service=26ms status=500 bytes=456 
2015-01-10T23:41:20.206409+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=topstreaks.herokuapp.com request_id=1c969a6b-a8e7-4fcd-b84a-81b55cec18a6 fwd="88.238.99.0" dyno=web.1 connect=1ms service=2ms status=404 bytes=527 
2015-01-10T23:41:24.949004+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=7f90b786-3ec9-49ab-b51a-a2cd942bc83d fwd="88.238.99.0" dyno=web.1 connect=1ms service=13ms status=500 bytes=456 
2015-01-10T23:44:05.320256+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=8c0a51bd-459c-438e-8184-911557410c95 fwd="88.238.99.0" dyno=web.1 connect=3ms service=3ms status=500 bytes=456 
2015-01-10T23:44:05.697401+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=topstreaks.herokuapp.com request_id=59f43b94-fb30-414a-9a28-6ae7c195bd4b fwd="88.238.99.0" dyno=web.1 connect=0ms service=2ms status=404 bytes=527 
2015-01-10T23:48:29.595955+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=13941ed3-2496-4d0e-aacc-5fb6a7a122e9 fwd="88.238.99.0" dyno=web.1 connect=3ms service=2ms status=500 bytes=456 
2015-01-10T23:48:47.739233+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=6c370ced-99fe-429a-829b-0ea55b4aa508 fwd="88.238.99.0" dyno=web.1 connect=0ms service=2ms status=500 bytes=456 
2015-01-10T23:52:15.563473+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=a0ceaf25-359e-4bc1-9247-5d6f478d1dd2 fwd="88.238.99.0" dyno=web.1 connect=0ms service=1ms status=500 bytes=456 
2015-01-10T23:52:20.050874+00:00 heroku[router]: at=info method=GET path="/" host=topstreaks.herokuapp.com request_id=1086dffb-e144-4873-b49b-5e4ac44477f3 fwd="88.238.99.0" dyno=web.1 connect=0ms service=2ms sta 
tus=500 bytes=456 

服務器查找,但我不能找到內部錯誤原木或任何地方。它在當地運行良好。 我怎麼才能找到Heroku的錯誤,因爲調試國防部不工作,雖然我寫燒瓶上debug = True

和瓶代碼:

from flask import Flask, render_template 
app = Flask(__name__) 

@app.route('/') 


def home(): 
    return render_template('topstreaks.html') 

@app.route('/script') 
def script(): 
    return render_template('datum.js') 

@app.after_request 
def after_request(response): 
    response.headers.add('Access-Control-Allow-Origin', '*') 
    response.headers.add('Access-Control-Allow-Headers', 'Content-Type,Authorization') 
    response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE') 
    return response 

if __name__ == "__main__": 
    app.debug = True 
    app.run() 

如何調試錯誤?

+0

我要做的第一件事就是在本地安裝工頭,並嘗試在heroku-like設置中運行應用程序https://github.com/ddollar/foreman – bwagner

回答

15

我在當地嘗試這樣做,發現你有,你可以看到當你在Heroku上運行什麼是錯在你的應用程序中設置一個記錄器,並使其打印到標準輸出

from flask import Flask, render_template 
import sys 
import logging 
app = Flask(__name__) 

app.logger.addHandler(logging.StreamHandler(sys.stdout)) 
app.logger.setLevel(logging.ERROR) 

這樣一來,任何錯誤都將打印在heroku logs

雖然它試圖設置這個測試時,我遇到了類似於你的問題。模板(html)必須位於項目根目錄下的模板文件夾中,我的測試模板不是,這對我造成了500,也可能是500的原因。

+0

是的,謝謝,現在我可以看到日誌上的應用程序錯誤。 –

+0

問題是什麼? – bwagner

+0

找不到模板 –

相關問題