首頁 > 後端開發 > Golang > 為什麼 Heroku 上的 Golang 應用程式在成功建置後顯示「應用程式錯誤」?

為什麼 Heroku 上的 Golang 應用程式在成功建置後顯示「應用程式錯誤」?

DDD
發布: 2024-12-14 07:02:08
原創
797 人瀏覽過

Why Does My Golang App on Heroku Show an

在Heroku 上部署Golang 應用程式:建置成功,但應用程式錯誤

在具有Go 依賴支援的Heroku 上部署Golang 應用程式時,您嘗試存取端點時可能會遇到「應用程式錯誤」。當 Web 伺服器未正確綁定到 Heroku 上的對應連接埠時,就會發生此問題。

您的應用程式日誌訊息指示以下錯誤:

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
登入後複製

原因:

該問題是由於嘗試在硬編碼連接埠(9000 ) 上啟動伺服器而不是將其綁定到由Heroku 的$PORT 環境變數。

解決方案:

要解決此問題,請使用 $PORT 環境變數在正確的連接埠上啟動伺服器。將現有程式碼替換為:

err := grace.Serve(":9000", context.ClearHandler(http.DefaultServeMux))
登入後複製

使用以下內容:

port := os.Getenv("PORT")
if port == "" {
    port = "9000" // Default port if not specified
}
err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))
登入後複製

此變更可確保伺服器正確綁定到Heroku 指定的端口,從而解決“應用程式錯誤”問題。

以上是為什麼 Heroku 上的 Golang 應用程式在成功建置後顯示「應用程式錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板