簡體   English   中英

Flask + Apache和500錯誤

[英]Flask+Apache and 500 Error

我正在使用Flask和Apache構建網站,並且該網站已啟動並正在運行。

但是我遇到了這個奇怪的500錯誤:一個500錯誤將使網站癱瘓,並且在我重新啟動apache之前,該網站將永遠不會再次聯機。 我希望Flask + Apache可以在500錯誤之后為下一個訪問者提供服務,無論如何,Flask是線程本地的。

假設出現以下情況:

@app.route('/<ExpectSomeInteger>')
def hello_world(ExpectSomeInteger):
    aNumber = int(ExpectSomeInteger)
    .....

顯然,上面的代碼有錯誤,應該使用<int:ExpectSomeInteger>和東西。 如果某些訪客在“ ExpectSomeInteger”的位置鍵入了一些字母,則flask將返回500錯誤。

災難是,Apache將在此之后向所有訪問者發送500錯誤頁面! 我只能重新啟動apache才能使其重新工作!

正常嗎

我記得當我訪問某些PHP + MySQL網站時,即使遇到一些非常嚴重的錯誤,該網站也可以正常服務於下一個訪問者。

感謝@Sasha Chedygov,我的網站現在可以正常工作。

問題是我通過遵循Linode的庫安裝了名為“ mod-python”的東西: https : //library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid

在完成“ apt-get remove libapache2-mod-python”之后,現在一切似乎都很好。

將類型轉換器傳遞給路由:

@app.route('/<int:an_integer>')
def hello_world(an_integer):
    ...

現在,保證an_integer為整數。 當您傳遞除整數以外的任何內容時,將發送404響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM