Node.js
Dieser Leitfaden enthält Beispiele, wie du die folgenden Node.js-Anwendungen einrichtest, um sie von einem GitHub-Repository aus auf den Anwendungs-Hosting-Diensten von Kinsta bereitzustellen:
Voraussetzungen
- Die Schnellstartvorlagen von Kinsta werden auf GitHub gespeichert und verwaltet. Deshalb brauchst du einen GitHub-Account, um auf sie zuzugreifen.
- Du musst ein MyKinsta-Konto erstellen, um die Anwendung bereitzustellen.
Node.js
- Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hallo Welt – Node.js.
- Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
- Wähle das Hello World – Node.js Repository und einen Standort für das Rechenzentrum. Belasse alle anderen Einstellungen als Standard und klicke bei jedem Schritt auf Weiter.
- Klicke im Schritt Zusammenfassung auf Jetzt bereitstellen.
Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner package.json-Datei definierten Abhängigkeiten. Die App ist verfügbar, sobald die Bereitstellung abgeschlossen ist und die Kinsta-Willkommensseite unter der URL deiner Anwendung geladen wird.
Willst du lieber die Videoversion sehen?
Webserver-Einrichtung
Port
Kinsta setzt automatisch die Umgebungsvariable PORT
. Du musst sie nicht selbst definieren oder in der Anwendung fest einprogrammieren. Verwende process.env.PORT
in deinem Code, wenn du dich auf den Server-Port beziehst.
app.listen(process.env.PORT, () => {
console.log(`Hello World Application is running on port ${process.env.PORT}`)
})
Startbefehl
Wenn du eine Anwendung bereitstellst, erstellt Kinsta automatisch einen Webprozess mit npm start
als Startbefehl. Achte darauf, dass du diesen Befehl verwendest, um deinen Server zu starten. Wenn du einen anderen Befehl verwenden möchtest, musst du den Webprozess in MyKinsta ändern.
"scripts": {
"start": "node server.js"
},
Umgebungsvariablen
Standardmäßig ist die Umgebungsvariable NODE_ENV
für Node.js-Anwendungen nicht auf production
gesetzt; du musst diese Umgebungsvariable manuell hinzufügen.
Lebenszyklus der Bereitstellungen
Jedes Mal, wenn eine Bereitstellung initiiert wird (durch das Erstellen einer Anwendung oder ein Re-Deployment aufgrund eines eingehenden Commits), wird der Befehl npm build
ausgeführt, gefolgt von dem Befehl npm start
.
Node.js-Anwendung mit einem Dockerfile
- Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlagec (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hello World – Dockerfile – Node.js.
- Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
- Wähle das Hello World – Dockerfile – Node.js Repository und einen Standort für das Rechenzentrum aus, belasse alle anderen Einstellungen und klicke auf Weiter.
- Wähle im Schritt Build environment die Option Use Dockerfile to set up a container image und klicke auf Continue > alle anderen Einstellungen können als Standard beibehalten werden, klicke auf Continue > Deploy now.
Die Dockerdatei muss den Befehl Start entweder in einer Zeile CMD
oder in einer Anweisung ENTRYPOINT
enthalten. Die Anwendung ist verfügbar, sobald die Bereitstellung abgeschlossen ist und eine Hello World-Seite unter der URL deiner Anwendung geladen wird.
Lebenszyklus der Bereitstellung
Wenn du die Anwendung erstellst, erzeugt Kinsta einen Prozess aus der CMD
Anweisung im Dockerfile:
CMD ["npm", "run", "start"]
Wenn du diesen Befehl im Repository nach der Bereitstellung der Anwendung änderst, wird der Prozess nicht automatisch in MyKinsta aktualisiert, du musst also auch den Start-Befehl in den Prozessen deiner Anwendung bearbeiten.
Node.js-Anwendung zum Versenden von E-Mails
Dieses Beispiel zeigt, wie du eine Node.js-Anwendung zum Versenden von E-Mails über SendGrid auf den Anwendungs-Hosting-Diensten von Kinsta einrichtest, die aus einem GitHub-Repository bereitgestellt wurde.
Kinsta unterstützt von Haus aus keine ausgehenden E-Mails von Servern. Der Versand von E-Mails über spezialisierte Outbound-Anbieter wie SendGrid oder Mailchimp bietet mehr Flexibilität und höhere Erfolgsquoten für Transaktions- und Kampagnen-E-Mails.
- Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Verwende diese Vorlage > Ein neues Repository erstellen): Kinsta – Hello World – E-Mail-Versand mit Node.js.
- Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
- Wähle das Repository Hello World – Email Sending With Node.js und einen Standort für das Rechenzentrum. Füge unter Umgebungsvariablen Folgendes hinzu:
SENDGRID_API_KEY
: Den API-Schlüssel von SendGrid.TEST_EMAIL_TO_ADDRESS
: Die Adresse, an die du die Test-E-Mail senden möchtest.TEST_EMAIL_FROM_ADDRESS
: Die Adresse, von der du die Test-E-Mail verschicken möchtest.TEST_ENDPOINT
: Der Endpunkt, den du als Auslöser für den Versand der Test-E-Mail verwenden möchtest. Verwende eine zufällige Zeichenfolge mit mindestens 8 Zeichen.
- Belasse alle anderen Einstellungen auf den Standardwerten und klicke bei jedem Schritt auf Weiter. Klicke im Schritt Zusammenfassung auf Jetzt bereitstellen.
Die Anwendung ist verfügbar, sobald die Bereitstellung abgeschlossen ist und eine Hello World-Seite unter der URL deiner Anwendung geladen wird.
Eine E-Mail auslösen
Für dieses Projekt ist keine Build-Phase erforderlich. Der Startbefehl führt node server.js,
aus, der einen Express-Server mit zwei Endpunkten startet:
/
: Eine einfache Seite, die die Hello World-Nachricht zurückgibt/${TEST_ENDPOINT}
: Eine Seite, die eine Test-E-Mail auslöst.
Um eine E-Mail auszulösen, suchst du auf der Seite Bereitstellungen die URL deiner Bereitstellung, hängst deinen Test-Endpunkt an diese URL und besuchst die Seite. Wenn dein TEST_ENDPOINT
zum Beispiel auf o34nifnodhni4of
eingestellt ist und deine letzte Bereitstellung auf https://example.kinsta.app steht, kannst du eine Test-E-Mail von https://example.kinsta.app/o34nifnodhni4of in deinem Browser auslösen.
Wenn die Test-E-Mail erfolgreich war, erscheint die Meldung „E-Mail gesendet“.
Wenn du dies bei SendGrid überprüfst, erhältst du ebenfalls eine Erfolgsmeldung.