Haben Sie es geschafft, dass Ihr node + nginx-Proxy-Setup auf Heroku funktioniert?
Könnten Sie mir bitte sagen, wie Sie die Verzeichnisstruktur und die Dateien in jedem Verzeichnis organisiert haben, bevor Sie "git push heroku master" machen? Welches Buildpack hast du benutzt?
Ich erhalte jedes Mal, wenn ich "git push heroku master" mache, die Meldung "Push abgelehnt, keine von Cedar unterstützte App gefunden". Ich habe eine "nginx.conf.erb" Datei in einem "/ conf" Verzeichnis abgelegt.
Danke.
Ich habe für viele Projekte ein Node.js + NGINX-Setup auf Heroku verwendet. Auf diese Weise können Sie nginx handle, um statische Dateien bereitzustellen, zwischenzuspeichern, an andere Server zu propagieren und an mehrere Knotenprozesse weiterzuleiten.
Verwenden Sie das Buildpack für mehrere Buildpacks ( Ссылка ).
Sie können eine .buildpacks-Datei angeben, die sich auf mehrere Buildpacks bezieht.
In meiner .buildpacks-Datei verwende ich das standardmäßige Heroku Node-Buildpack und ein Fork eines nginx-Buildpacks, das ich neu erstellt habe, um die SSL-Unterstützung einzubeziehen.
Das nginx-Buildpack verwendet eine nginx.conf.erb-Datei, die auf ENV vars verweisen kann. Sie müssen ihm mitteilen, dass er auf den von heroku angegebenen Port in der Umgebungsvariablen "PORT"
hören soll %Vor%Dann starten Sie Ihren Node-Server an dem von Ihnen gewählten Port, sagen Sie 5001, und in Ihrer Nginx-Konfiguration können Sie einen Proxy-Pass für Ihre Node-App einrichten:
%Vor%Hinweis - Ihr procfile muss einen speziellen start-nginx-Befehl (Teil des nginx buildpack) verwenden, der dann aufruft, was auch immer Sie übergeben. In meinem Fall verwende ich für immer meine Knoten-App:
%Vor%Und innerhalb Ihrer Haupt-Knotendatei müssen Sie eine Datei erstellen, wenn sie erfolgreich gestartet wurde, um dem nginx buildpack zu signalisieren, dass es anfangen sollte, zuzuhören
%Vor%Es gibt eine vollständige Erklärung, wie das nginx buildpack im readme @ Ссылка
verwendet wirdAuf Heroku wird dieses Setup erfolgreich von mir verwendet, sobald das Buildpack installiert ist:
%Vor%Dann können Sie in Ihrer app.js-Datei eine Verbindung herstellen mit:
%Vor%