Zum Hauptinhalt springen




Wenn Sie diesem einfachen zweiteiligen Tutorial folgen, können Sie in wenigen Minuten eine Anwendung mit Node.js mit Heroku erstellen.

In diesem Tutorial gehen wir davon aus, dass Sie ein kostenloses Heroku-Konto haben und dass Sie auch Node.js mit npm installiert haben.

In diesem Tutorial wird davon ausgegangen, dass Sie über ein kostenloses Heroku-Konto verfügen und Node.js und npm lokal installiert haben.

Bereiten Sie die Anwendung vor

In diesem Schritt bereiten Sie eine Beispielanwendung vor, die für die Bereitstellung auf Heroku bereit ist. Wenn Sie etwas verwirrt oder verwirrt sind, lesen Sie möglicherweise unsere ersten einführenden Artikel: Steuern des Sicherheitsrisikos von Node.js anhand von npm-Abhängigkeiten oder Node Hero - Node.js-Authentifizierung mit Passport.js

Erste Schritte

Im ersten Schritt installieren Sie eine Heroku-Befehlszeilenschnittstelle (CLI). Normalerweise verwenden wir die CLI, um die Anwendungen zu verwalten und zu skalieren sowie um die Anwendung lokal auszuführen. Sie müssen das Installationsprogramm für Ihr tägliches Betriebssystem herunterladen, installieren und ausführen.

  • Unter Mac OS: Para que descargues el instalador de paquetes en tu equipo con Mac OS, da klicken aquí: Laden Sie das Installationsprogramm für Mac OS herunter.
    Obwohl Sie es auch bei Ihrem Homebrew erhältlich haben:
    $ Brew installieren Heroku / Brew / Heroku
    
  • Unter Windows: Damit Sie das Paketinstallationsprogramm auf Ihren Windows-Computer herunterladen können, klicken Sie bei Bedarf auf eine dieser beiden Optionen.
  • Ubuntu 16+: Ahora, si tu caso es que utilizas un Software libre en tu PC, ejecuta este código en tu terminal.
    $ sudo snap install heroku --classic
    

Bereits installiert installiert, können Sie den Befehl verwenden Heroku vom Befehl Schale. In Windows müssen Sie die Eingabeaufforderung starten (cmd.exe) oder Power Shell um auf die zuzugreifen Schale Befehl. Melden Sie sich mit der E-Mail-Adresse und dem Passwort an, mit denen Sie Ihr Heroku-Konto erstellt haben:

Heroku-Login Geben Sie Ihre Heroku-Anmeldeinformationen ein. E-Mail: E-Mail [email protected] Passwort: *****

Die Authentifizierung ist erforderlich, damit beide Anmeldebefehle funktionieren Heroku als die Befehle von git. Bevor Sie fortfahren, stellen Sie sicher, dass Sie die Voraussetzungen dafür korrekt installiert haben. Geben Sie jeden Befehl unten ein und stellen Sie sicher, dass die von Ihnen installierte Version angezeigt wird. (Beachten Sie, dass Ihre Versionen vom Beispiel abweichen können.) Wenn keine Version zurückgegeben wird, kehren Sie zur Einführung dieses Lernprogramms zurück und installieren Sie die Voraussetzungen. Das folgende Gebietsschema ist erforderlich, um das zu vervollständigen "Anwendungsabhängigkeiten" und nachfolgende Schritte. Denken Sie daran, dass dieses Tutorial für jede Node-Version höher als 8 funktioniert. Stellen Sie nun sicher, dass Sie die Anforderungen installiert haben:

Probieren Sie die Node-Version aus

node --version v8.11.1

Beachten Sie, dass npm Es wird mit Node.js installiert. Überprüfen Sie daher, ob es installiert ist. Wenn Sie es nicht haben, installieren Sie eine neuere Version von Node:

npm --version 5.6.0

Überprüfen Sie nun, ob Sie installiert haben git. Wenn dies nicht der Fall ist, installieren Sie es und versuchen Sie es erneut.

git --version git version 2.15.1

Vorbereitung Ihrer Bewerbung

In diesem Schritt beginnen Sie mit der Vorbereitung einer Beispielanwendung, die zur Implementierung in Heroku bereit ist. Führen Sie die folgenden Befehle in Ihrem Befehlsterminal oder lokalen Terminal aus, um eine eigene Kopie der von uns entwickelten Anwendung zu erstellen:

Git-Klon https://github.com/heroku/node-js-getting-started.git CD-Knoten-js-Erste Schritte

Sie haben jetzt ein funktionierendes Git-Repository, das eine einfache Anwendung sowie eine Datei enthält package.json, Dies wird vom Abhängigkeitsmanager des Knotens verwendet.

Bereitstellen Ihrer Anwendung

En este paso desplegarás la aplicación a Heroku. Cree una aplicación en Heroku, que prepara a Heroku para recibir su Quellcode.

$ heroku create Erstellen von scharfem Regen-871 ... fertig, Stapel ist Zeder-14 http://sharp-rain-871.herokuapp.com/ | https://git.heroku.com/sharp-rain-871.git Git Remote Heroku hinzugefügt

Wenn Sie eine App erstellen, erstellt Heroku auch ein Remote-Git (aufgerufen) und ordnet es Ihrem lokalen Git-Repository zu. Heroku generiert einen zufälligen Namen (in diesem Fall Sharp-Rain-871) für Ihre Anwendung, oder Sie können einen Parameter übergeben, um Ihren eigenen Anwendungsnamen anzugeben. Zeigen Sie nun Ihren Code an:

$ git push heroku master Objekte zählen: 488, fertig. Delta-Komprimierung mit bis zu 8 Threads. Objekte komprimieren: 100% (367/367), fertig. Objekte schreiben: 100% (488/488), 231,85 KiB | 115,92 MiB / s, fertig. Insgesamt 488 (Delta 86), wiederverwendete 488 (Delta 86) Remote: Komprimieren von Quelldateien ... abgeschlossen. remote: Gebäudequelle: remote: remote: -----> Node.js-App erkannt remote: remote: -----> Laufzeitumgebung erstellen remote: remote: NPM_CONFIG_LOGLEVEL = Fehler remote: NODE_VERBOSE = false remote: NODE_ENV = Produktion remote: NODE_MODULES_CACHE = true remote: remote: -----> Installieren von Binärdateien remote: engine.node (package.json): 8.11.1 remote: engine.npm (package.json): nicht angegeben (Standard verwenden) remote: remote : Auflösen der Knotenversion 8.11.1 ... remote: Herunterladen und Installieren des Knotens 8.11.1 ... remote: Verwenden der Standard-npm-Version: 5.6.0 .... remote: -----> Build erfolgreich! remote: -----> Prozesstypen erkennen remote: Procfile deklariert Typen -> web remote: remote: -----> Komprimieren ... remote: Fertig: 19M remote: -----> Starten ... remote: Freigegeben v3 remote: http://sharp-rain-871.herokuapp.com bereitgestellt auf Heroku remote: remote: Überprüfung der Bereitstellung ... abgeschlossen. An https://git.heroku.com/nameless-savannah-4829.git * [neuer Zweig] master -> master

Die Anwendung wird jetzt bereitgestellt. Stellen Sie sicher, dass mindestens eine Instanz der Anwendung ausgeführt wird:

$ heroku ps: scale web = 1

Ahora visita la aplicación en la Url generada por su nombre de aplicación. Como un atajo práctico, puede abrir el sitio Netz de la siguiente manera:

$ Heroku geöffnet

Anzeigen der Datensätze

Heroku trata los registros como flujos de eventos ordenados por tiempo agregados de los flujos de salida de todas sus aplicaciones y componentes Heroku, proporcionando un solo Kanal para todos los eventos. Ver información sobre su aplicación en ejecución usando uno de los comandos de registro , heroku logs –tail:

heroku logs --tail 2011-03-10T10:22:30-08:00 heroku[web.1]: State changed from created to starting 2011-03-10T10:22:32-08:00 heroku[web.1]: Running process with command: `node Index.js` 2011-03-10T10:22:33-08:00 heroku[web.1]: Listening on 18320 2011-03-10T10:22:34-08:00 heroku[web.1]: State changed from starting to up

Visite su aplicación en el Browser nuevamente, y verá otro mensaje de registro generado. Presione Control+Cpara detener la transmisión de los registros.

Procfile definieren

Use un Procfile , un archivo de texto en el Wurzelverzeichnis de su aplicación, para declarar explícitamente qué comando debe ejecutarse para iniciar su aplicación. La aplicación Procfile de ejemplo que implementó se ve así: web: node index.js Esto declara un solo tipo de proceso weby el comando necesario para ejecutarlo. El nombre webes importante aquí. Declara que este tipo de proceso se adjuntará a la pila de enrutamiento HTTP de Heroku y recibirá der Verkehr web cuando se implemente. Procfiles puede contener tipos de proceso adicionales. Por ejemplo, puede declarar uno para un proceso de trabajo en segundo plano que procesa elementos fuera de una cola.

Skalieren der Anwendung

Im Moment läuft Ihre Anwendung auf einem einzigen Benchmark-Band. Stellen Sie sich einen Dynamometer als einen leichten Container vor, der den in der Procfile-Datei angegebenen Befehl ausführt. Mit dem Befehl ps können Sie überprüfen, wie viele Dynos ausgeführt werden:

$ heroku ps === web (Kostenlos): `node index.js` web.1: up 25.04.2014 16:26:38 (vor ~ 1s)

Standardmäßig wird Ihre App auf einem kostenlosen Dynamometer bereitgestellt. Freie Dinosaurier schlafen nach einer halben Stunde Inaktivität (wenn sie keinen Verkehr haben). Dies führt zu einer Verzögerung von einigen Sekunden für die erste Anforderung beim Aufwachen. Nachfolgende Anfragen werden normalerweise gestellt. Die freie Dynamik verbraucht auch ein monatliches Kontingent auf Kontoebene der freien Dynamisierungsstunden. Solange das Kontingent nicht ausgeschöpft ist, können alle kostenlosen Anwendungen weiterhin ausgeführt werden. Um zu verhindern, dass Dyno schläft, können Sie ein Upgrade auf einen Hobby- oder professionellen Dino-Typ durchführen, wie im Artikel Dyno-Typen beschrieben. Wenn Sie beispielsweise Ihre Anwendung auf einen professionellen Dynamometer migrieren, können Sie sie einfach skalieren, indem Sie einen Befehl ausführen, der Heroku anweist, eine bestimmte Anzahl von Triggern auszuführen, von denen jeder seinen eigenen Webprozess ausführt. Das Skalieren einer Anwendung auf Heroku entspricht dem Ändern der Anzahl der ausgeführten Dynos. Skalieren Sie die Anzahl der Web-Dynos auf Null:

$ heroku ps: scale web = 0

Greifen Sie erneut auf die Anwendung zu, indem Sie auf der Registerkarte "Web" auf "Aktualisieren" klicken oder auf "Heroku öffnen", um sie auf einer Registerkarte zu öffnen. Sie erhalten eine Fehlermeldung, da für Serviceanfragen keine Webdiagnose mehr verfügbar ist. Nochmals skalieren:

$ heroku ps: scale web = 1

Zur Verhinderung von Missbrauch erfordert die Skalierung einer nicht freien App auf mehr als einen Dynamo eine Kontobestätigung. Um mit der Lektion fortzufahren, fahren Sie mit unserem nächsten Beitrag fort ➡ Wie implementiere ich Node.js mit Heroku oder Docker? Teil 2