Rumah > pembangunan bahagian belakang > Golang > Mengapakah apl Golang saya pada Heroku menunjukkan 'Ralat Aplikasi' selepas binaan yang berjaya?

Mengapakah apl Golang saya pada Heroku menunjukkan 'Ralat Aplikasi' selepas binaan yang berjaya?

Linda Hamilton
Lepaskan: 2024-12-08 01:33:12
asal
815 orang telah melayarinya

Why is my Golang app on Heroku showing an

Menggunakan aplikasi golang pada heroku, membina berjaya tetapi ralat aplikasi

Apabila menggunakan aplikasi golang pada Heroku, adalah penting untuk memastikan aplikasi itu terikat ke port yang betul. Kegagalan berbuat demikian boleh mengakibatkan aplikasi gagal memulakan dan memaparkan mesej "Ralat Aplikasi" semasa mengakses titik akhir.

Dalam kes anda, log menunjukkan bahawa aplikasi sedang dimatikan dalam masa 60 saat selepas pelancaran disebabkan oleh proses web tidak dapat mengikat ke port yang ditentukan. Untuk menyelesaikan isu ini, anda perlu mengikat pelayan web anda ke port yang ditentukan oleh pembolehubah persekitaran $PORT. Heroku secara automatik menetapkan pembolehubah persekitaran ini kepada port HTTP dan HTTPS lalai, membolehkan aplikasi anda boleh diakses secara umum.

Untuk mengikat pelayan HTTP anda ke port yang dijangka, ubah suai kod anda seperti berikut:

import (
    "os"
    
    "github.com/gorilla/mux"
    "github.com/gorilla/context"

    "gopkg.in/paytm/grace.v1"

)

func main() {
    log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ CHIT STARTED $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$")
    log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$")
    
    muxRouter := mux.NewRouter()
    
    muxRouter.HandleFunc("/", Articles)
    http.Handle("/", muxRouter)
    
    port := os.Getenv("PORT")
    if port == "" {
        port = "9000" // Default port if not specified
    }
    err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))
    if err != nil {
        log.Println("[ERROR GRACEFUL]", err)
        os.Exit(1)
    }
    
    os.Exit(0)
}
Salin selepas log masuk

Dengan membuat perubahan ini, aplikasi anda kini akan terikat pada port yang ditentukan oleh Heroku dan boleh diakses secara umum pada port HTTP dan HTTPS lalai, menyelesaikan masalah Isu "Ralat Aplikasi".

Atas ialah kandungan terperinci Mengapakah apl Golang saya pada Heroku menunjukkan 'Ralat Aplikasi' selepas binaan yang berjaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan