問題:
在
問題:在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中文網其他相關文章!