Heim > Backend-Entwicklung > Golang > Warum wird meine Go-App erfolgreich auf Heroku erstellt, schlägt jedoch mit einem „Anwendungsfehler' fehl?

Warum wird meine Go-App erfolgreich auf Heroku erstellt, schlägt jedoch mit einem „Anwendungsfehler' fehl?

DDD
Freigeben: 2024-12-17 05:28:24
Original
176 Leute haben es durchsucht

Why Does My Go App Build Successfully on Heroku But Fail with an

Bereitstellung einer Golang-App auf Heroku: Build ist erfolgreich, aber Anwendungsfehler

Erste Versuche, eine GoLang-Anwendung auf Heroku mithilfe der Godep-Unterstützung bereitzustellen, führten zu … ein erfolgreicher Build, aber ein „Anwendungsfehler“ beim Zugriff auf den Endpunkt der Anwendung. Um dieses Problem zu beheben, schauen wir uns das Problem und seine Lösung genauer an.

Problemübersicht:

Die bereitgestellte App reagiert nicht, wenn sie auf ihren Endpunkt zugreift (z. B. „/ '). Die Heroku-Protokolle zeigen einen Fehler an, der besagt, dass der Webprozess keine Bindung an $PORT herstellen konnte.

Lösung:

Heroku erfordert, dass Anwendungen ihre Webserver an den Port binden wird durch die Umgebungsvariable PORT angegeben. Allerdings startet der Anwendungscode derzeit den Server auf Port 9000.

Um dieses Problem zu beheben, sollte der Server der Anwendung auf dem von Heroku angegebenen PORT gestartet werden. So geht das:

import "os"

func main() {
  // ... (your existing code)

  // Get the port from the PORT environment variable, or default to 9000 if not set
  port := os.Getenv("PORT")
  if port == "" {
      port = "9000" // Default port if not specified
  }

  // Start the server on the specified port
  err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))

  // ... (your existing code)
}
Nach dem Login kopieren

Durch die Bindung an den richtigen Port tritt bei der Anwendung nicht mehr der Fehler „Boot-Timeout“ auf und sie kann Anfragen erfolgreich sowohl auf HTTP- als auch auf HTTPS-Ports über Heroku verarbeiten Gateways.

Das obige ist der detaillierte Inhalt vonWarum wird meine Go-App erfolgreich auf Heroku erstellt, schlägt jedoch mit einem „Anwendungsfehler' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage