GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie eine einfache nodejs-App mit nginx und pm2 auf einem Ubuntu-Server ein

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'

Linux
  1. Was ist Samba-Server und wie richtet man Samba-Server in Ubuntu Linux ein?

  2. So installieren Sie Elgg mit Nginx unter Ubuntu 18.04

  3. So richten Sie Django mit Postgres, Nginx und Gunicorn unter Ubuntu 20.04 ein

  4. So sichern Sie Ihren Ubuntu-Server mit der CSF-Firewall

  5. So installieren Sie Node.js mit NVM und Nginx unter Ubuntu 22.04

So richten Sie die Passwortauthentifizierung mit Apache unter Ubuntu 18.04 ein

So erstellen Sie einen E-Commerce mit Prestashop und Ubuntu 18.04

So installieren und konfigurieren Sie Sendmail unter Ubuntu

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx

So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04