Menggunakan Apl Golang pada Heroku: Membina Kejayaan, Tetapi Ralat Aplikasi
Apabila menggunakan aplikasi Golang pada Heroku dengan sokongan pergantungan Go, anda mungkin menghadapi "Ralat Aplikasi" semasa cuba mengakses titik akhir. Isu ini timbul apabila pelayan web tidak terikat dengan betul pada port yang sesuai pada Heroku.
Mesej log aplikasi anda menunjukkan ralat berikut:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Punca:
Isu ini disebabkan oleh percubaan untuk memulakan pelayan pada port berkod keras (9000) dan bukannya mengikatnya pada port yang ditentukan oleh Pembolehubah persekitaran $PORT Heroku.
Penyelesaian:
Untuk menyelesaikan isu ini, mulakan pelayan pada port yang betul dengan menggunakan pembolehubah persekitaran $PORT. Gantikan kod sedia ada anda:
err := grace.Serve(":9000", context.ClearHandler(http.DefaultServeMux))
Dengan yang berikut:
port := os.Getenv("PORT") if port == "" { port = "9000" // Default port if not specified } err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))
Perubahan ini memastikan pelayan mengikat dengan betul pada port yang ditentukan oleh Heroku, menyelesaikan isu "Ralat Aplikasi".
Atas ialah kandungan terperinci Mengapa Apl Golang Saya pada Heroku Menunjukkan 'Ralat Aplikasi' Selepas Pembinaan Berjaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!