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

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

DDD
Libérer: 2024-12-14 07:02:08
original
796 Les gens l'ont consulté

Why Does My Golang App on Heroku Show an

Déploiement d'une application Golang sur Heroku : réussite de la construction, mais erreur d'application

Lors du déploiement d'une application Golang sur Heroku avec prise en charge des dépendances Go, vous peut rencontrer une « erreur d’application » lors de la tentative d’accès aux points de terminaison. Ce problème survient lorsque le serveur Web n'est pas correctement lié au port approprié sur Heroku.

Les messages de votre journal d'application indiquent l'erreur suivante :

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Copier après la connexion

Cause :

Le problème est dû à la tentative de démarrage du serveur sur un port codé en dur (9000) au lieu de le lier au port spécifié par Heroku. Variable d'environnement $PORT.

Solution :

Pour résoudre ce problème, démarrez le serveur sur le bon port en utilisant la variable d'environnement $PORT. Remplacez votre code existant :

err := grace.Serve(":9000", context.ClearHandler(http.DefaultServeMux))
Copier après la connexion

Par ce qui suit :

port := os.Getenv("PORT")
if port == "" {
    port = "9000" // Default port if not specified
}
err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))
Copier après la connexion

Cette modification garantit que le serveur se lie correctement au port spécifié par Heroku, 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal