Das Ausführen der nodejs-App in der Entwicklungs- oder lokalen Umgebung, in der die GUI-Schnittstelle im Betriebssystem bereitgestellt wird, ist eine einfache Aufgabe, aber wenn es darum geht, sie in der Produktion auf einem Cloud-Server bereitzustellen, wissen die meisten Anfänger nicht, wie sie anfangen sollen. Hier ist also die detaillierte Schritt-für-Schritt-Anleitung zum Einrichten einer einfachen nodejs-App.
1. Erstellen eines neuen sudo-Benutzers
HINWEIS:Wenn Sie bereits einen Benutzer mit Superuser-Rechten erstellt haben, müssen Sie diesen Schritt nicht ausführen.
 Tatsächlich können Sie direkt mit root arbeiten Benutzer, aber dann werden einige gefährliche Befehle, die Sie im Terminal falsch eingegeben haben, dem Server Schaden zufügen. Also lieber mit sudo zugreifen und zum Erstellen zuerst mit root anmelden Benutzerrechte:
$ ssh [email protected]_server_ip
 
 Und vervollständigen Sie es dann, indem Sie das Passwort und die Host-Authentizität angeben. 
 Erstellen Sie nun mit sudo einen neuen Benutzer Zugriff:
$ adduser sonu
$ usermod -aG sudo sonu
 
 Der erste Befehl erstellt einen neuen Benutzer, nachdem einige Fragen gestellt wurden, und der zweite Befehl fügt diesen Benutzer zu sudo hinzu Gruppe (Superuser-Gruppe). 
 Melden Sie sich jetzt vom Server ab (verwenden Sie exit Befehl) und melden Sie sich mit diesem neuen Benutzer an.
$ ssh [email protected]_ip
 2. Installieren Sie nginx und node.js
 Aktualisieren Sie zuerst apt Repository mit diesem Befehl:
$ sudo apt update
 Installieren Sie nun nginx mit
$ sudo apt install nginx
 
 Und dann nodejs mit
$ curl -sL https://deb.nodesource.com/setup_6.x | bash
$ sudo apt install -y nodejs
 Sie können auch die offizielle nodesource [Installationsanleitung.] (https://github.com/nodesource/distributions#installation-instructions) für die neueste node.js-Version auschecken.
3. Starten einer einfachen nodejs (Express)-App
 Wir werden eine einfache expressjs-App mit express-generator erstellen . Installieren Sie also zuerst express-generator global mit folgendem:
$ sudo npm i express-generator -g
 Danach erstellen Sie die Express-App im Home-Verzeichnis
$ cd ~
$ express testapp
 Starten Sie nun die App mit :
$ cd testapp
$ npm install & npm start
 
 Ihre App wird unter http://localhost:8080 gestartet Hafen.
4. Installieren Sie pm2, um es für immer auszuführen
 Führen Sie einfach npm start aus wird die App nicht neu starten, wenn die App bei einem Serverausfall oder etwas ausfällt. Um es also bei jedem Systemneustart am Laufen zu halten, verwenden wir pm2 nodejs-App. Installieren Sie es global, indem Sie sudo npm i pm2 -g eingeben und führen Sie die App mit dem folgenden Befehl für immer aus.
$ cd testapp/bin
$ pm2 start www
 5. Zuordnung von 8080 zum Standard-HTTP-Port.
 Der letzte Schritt besteht nun darin, nginx zu verwenden, um 8080 zuzuordnen Port auf den Standardwert 80 http-Port. Wir nennen es Reverse-Proxy-Server. 
 Öffnen Sie den Standardserverblock von nginx und löschen Sie alles aus dieser Datei.
$ sudo nano /etc/nginx/sites-available/default
 Fügen Sie den folgenden Code in diese Datei ein und speichern Sie sie:
server {
   listen 80;
   server_name "";
   location / {
     proxy_pass http://localhost:8080;
     proxy_http_version 1.1;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}
 Testen Sie abschließend die Konfiguration und laden Sie nginx neu:
$ sudo nginx -t
$ sudo nginx -s reload
## or restart the nginx 
$ sudo service nginx restart
 
 Ein zusätzlicher Schritt ist das Deaktivieren von Port 8080 über ubuntu ufw Firewall. Wenn Sie es aktivieren, werden alle Ports blockiert. Lassen Sie also einige gängige Ports über Nginx Full zu Konfiguration.
$ sudo ufw enable
$ sudo ufw allow 'Nginx Full'