首頁 >後端開發 >Golang >儘管構建成功,為什麼我的 GoLang Heroku 應用程式仍返回'應用程式錯誤”?

儘管構建成功,為什麼我的 GoLang Heroku 應用程式仍返回'應用程式錯誤”?

Susan Sarandon
Susan Sarandon原創
2024-12-05 10:00:20936瀏覽

Why Does My GoLang Heroku App Return an

在Heroku 上部署GoLang 應用程式:排除「應用程式錯誤」

問題:

問題:

在Heroku 上部署GoLang 應用程式使用GoDep 支持,建置成功,但存取端點會傳回「應用程式錯誤」。該應用程式在本地主機上的連接埠 9000 上運行,但 Grace.Serve 似乎正在偵聽不同的連接埠。

2019-07-08T05:03:48.131507+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

Heroku 日誌輸出:

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))
>問題是應用程式將其Web伺服器明確綁定到連接埠 9000,這與 Heroku 分配的連接埠衝突。 Heroku 透過環境變數 PORT 分配動態連接埠。 要解決此問題,應用程式應根據 PORT 環境變數動態分配端口,而不是硬編碼端口 9000。 已修訂申請代碼:

以上是儘管構建成功,為什麼我的 GoLang Heroku 應用程式仍返回'應用程式錯誤”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn