Node.js wird unter den Anwendern immer beliebter. Aus diesem Grund ist das Verwenden von Node.js bei allen Nginx Hosting Tarifen und nginx Managed Servern möglich. Für Ihre Projekte können Sie Ihr eigenes Node.js mithilfe von NVM (Node.js Versionsmanager) installieren und zwischen verschiedenen Versionen wechseln.
Installation von Node.js mit NVM
Melden Sie sich in der Secure Shell Umgebung an und tippen Sie in das Terminal folgendes ein:
#> cd $HOME
#> curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
NVM wurde nun heruntergeladen und in Ihrem Home Verzeichnis installiert. Jetzt ist es an der Zeit, die benötigten Umgebungsvariablen in der „.profile“ Datei zu speichern, damit die benötigten Umgebungsvariablen nach jedem Log-in automatisch geladen werden.
#> nano $HOME/.bash_profile
### Fügen Sie in die Datei folgendes ein:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
und speichern Sie die Datei mit ctrl+o und verlassen den Editor mit ctrl+x. Nach einem erneuten Log-in oder durch das Laden der Datei mithilfe von
#> source $HOME/.bash_profile
werden die benötigten Variablen aktiviert und der Node Versionsmanager (nvm) ist nun in Ihrer SSH Umgebung installiert und kann verwendet werden. Es wird also Zeit, ein eigenes Node.js zu installieren.
#> nvm install 8.9.4 (oder 8.9 oder 8)
#> node -v
Ausgabe: v8.9.4
Verschiedene Node.js Versionen verwenden mit NVM
Mit NVM haben Sie die Möglichkeit, verschiedene Node.js Versionen zu verwenden. Das kann bei der Entwicklung wie auch beim Einsatz von älteren Anwendungen sehr hilfreich sein.
#> nvm install 9.7.0 (oder 9.7 oder 9)
#> node -v
Ausgabe: v9.7.0
#> nvm use 8 (oder 8.9.4 oder 8.9 )
#> node -v
Ausgabe: v8.9.4
Node.js ist nun in Ihrem Hosting einsatzbereit.
Eine Node.js Server App mit Nginx erreichbar machen
Wenn Sie Ihre Node.js App als Webservice nutzen möchten, z. B. indem Sie Ihre Anwendung mithilfe von HTTP(s) verfügbar machen wollen, binden Sie Ihre Anwendung an den Ihnen zugewiesenen App Server Port. Welcher Port für Sie bereitsteht, sehen Sie auf der Startseite im WHF-Panel unter Zugangsdaten.
Erstellen Sie Ihre App und starten Sie diese wie folgendes Beispiel zeigt:
#> mkdir $HOME/myApp
#> cd $HOME/myApp
#> npm install express
........
#> nano server.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(7001, function () {
console.log('Example app listening on port 7001!');
});
#> node server.js
Example app listening on port 7001!
Die Beispiel-App läuft nun auf Port 7001 und kann schon über diesen Port aufgerufen werden.
App starten mit dem Prozessmanager pm2
Es ist auch möglich, den Prozessmanager pm2 für Ihre Apps zu verwenden. Dieser ist mit npm schnell installiert und startbereit.
#> npm install pm2
........
#> pm2 --version
5.2.2
#> pm2 start server.js
[PM2] Starting /var/www/Demo/home/myApp/server.js in fork_mode (1 instance)
[PM2] Done.
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0 │ server │ fork │ 0 │ online │ 0% │ 27.1mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
Eine ausführliche Dokumentation zu pm2 gibt auf der Projekthomepage.
Node.js App Port mit Ihrer Domain verbinden
Damit Ihre App auch unter Ihrer Domain ohne Angabe eines Ports erreichbar ist (Auch mit SSL Zertifikat) bearbeiten Sie die gewünschte Domain im WHF-Panel und wählen als Webserver einfach „Nginx (SSL) Proxy -> App Server Port“ aus. Nach ca. einer Minute ist die Einstellung übernommen worden und Sie können Ihre Node.js Applikation unter Ihrer Domain ohne Angabe des Ports aufrufen.
Wir wünschen Ihnen viel Spaß und Erfolg mit Node.js. Für Fragen oder Anregungen stehen wir gerne zur Verfügung.
Links:
Node.js Homepage: https://nodejs.org/de/
NVM Projektseite: https://github.com/creationix/nvm
Express Web Framework für Node.js: https://expressjs.com/de/