Maison > développement back-end > Golang > Pourquoi mon application Golang sur Heroku affiche-t-elle une « Erreur d'application » après une build réussie ?

Pourquoi mon application Golang sur Heroku affiche-t-elle une « Erreur d'application » après une build réussie ?

Linda Hamilton
Libérer: 2024-12-08 01:33:12
original
843 Les gens l'ont consulté

Why is my Golang app on Heroku showing an

Déploiement d'une application Golang sur Heroku, build réussi mais erreur d'application

Lors du déploiement d'une application Golang sur Heroku, il est important de s'assurer que l'application est lié au bon port. Dans le cas contraire, l'application peut ne pas démarrer et afficher un message « Erreur d'application » lors de l'accès aux points de terminaison.

Dans votre cas, les journaux indiquent que l'application est supprimée dans les 60 secondes suivant le lancement en raison de le processus Web étant incapable de se lier au port spécifié. Pour résoudre ce problème, vous devez lier votre serveur Web au port spécifié par la variable d'environnement $PORT. Heroku définit automatiquement cette variable d'environnement sur les ports HTTP et HTTPS par défaut, permettant à votre application d'être accessible publiquement.

Pour lier votre serveur HTTP au port attendu, modifiez votre code comme suit :

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)
}
Copier après la connexion

En effectuant cette modification, votre application se liera désormais au port spécifié par Heroku et sera accessible publiquement sur les ports HTTP et HTTPS par défaut, résolvant ainsi le problème « Erreur d'application ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal