GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer une application nodejs simple avec nginx et pm2 sur le serveur ubuntu

L'exécution de l'application nodejs sur l'environnement de développement ou local où l'interface graphique est fournie dans le système d'exploitation est une tâche facile, mais lorsqu'il s'agit de la déployer en production sur un serveur cloud, la plupart des débutants ne savent pas comment commencer. Voici donc la procédure détaillée étape par étape pour configurer une application nodejs simple.

1. Créer un nouvel utilisateur sudo

REMARQUE :Si vous avez déjà créé un utilisateur avec des privilèges de superutilisateur, vous n'avez pas besoin de suivre cette étape.

En fait, vous pouvez directement travailler avec root utilisateur, mais certaines commandes dangereuses mal saisies par vous dans le terminal causeront des dommages au serveur. Alors mieux vaut utiliser sudo accès et pour le créer, connectez-vous d'abord avec root privilèges utilisateur :

$ ssh [email protected]_server_ip

Et puis complétez-le en donnant le mot de passe et l'authenticité de l'hôte.
Créez maintenant un nouvel utilisateur avec sudo accès :

$ adduser sonu
$ usermod -aG sudo sonu

La première commande crée un nouvel utilisateur après avoir posé quelques questions et la deuxième commande ajoute cet utilisateur au sudo group (groupe de superutilisateurs).
Maintenant, déconnectez-vous du serveur (utilisez exit commande) et connectez-vous avec ce nouvel utilisateur.

$ ssh [email protected]_ip

2. Installez le nginx et node.js

Mettez d'abord à jour le apt dépôt avec cette commande :

$ sudo apt update

Maintenant, installez nginx en utilisant

$ sudo apt install nginx

Et puis nodejs avec

$ curl -sL https://deb.nodesource.com/setup_6.x | bash
$ sudo apt install -y nodejs

Vous pouvez également consulter le nodesource officiel [instructions d'installation.] (https://github.com/nodesource/distributions#installation-instructions) pour la dernière version de node.js.

3. Démarrage d'une simple application nodejs (express)

Nous allons créer une application expressjs simple en utilisant express-generator . Donc, installez d'abord express-generator globalement en utilisant ce qui suit :

$ sudo npm i express-generator -g

Après cela, créez l'application express dans le répertoire personnel

$ cd ~
$ express testapp

Démarrez maintenant l'application en utilisant :

$ cd testapp
$ npm install & npm start

Votre application commencera à http://localhost:8080 port.

4. Installez pm2 pour l'exécuter pour toujours

Faites simplement npm start ne redémarrera pas l'application si l'application tombe en cas de panne du serveur ou autre. Donc, pour le maintenir opérationnel à chaque redémarrage du système, nous utilisons pm2 application nodejs. Installez-le globalement en tapant sudo npm i pm2 -g et exécutez l'application pour toujours en utilisant la commande suivante.

$ cd testapp/bin
$ pm2 start www

5. Mappage 8080 au port http par défaut.

Maintenant, la dernière étape consiste à utiliser nginx pour mapper 8080 port par défaut 80 port http. Nous l'appelons serveur proxy inverse.
Ouvrez le bloc de serveur par défaut de nginx et supprimez tout de ce fichier.

$ sudo nano /etc/nginx/sites-available/default

Collez le code suivant dans ce fichier et enregistrez-le :

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;
   }
}

Testez enfin la configuration et rechargez le nginx :

$ sudo nginx -t
$ sudo nginx -s reload
## or restart the nginx 
$ sudo service nginx restart

L'étape supplémentaire consiste à désactiver le port 8080 via ubuntu ufw pare-feu. L'activer bloquera tous les ports. Autorisez donc certains ports communs via Nginx Full configuration.

$ sudo ufw enable
$ sudo ufw allow 'Nginx Full'

Linux
  1. Qu'est-ce que le serveur Samba et comment configurer le serveur Samba dans Ubuntu Linux

  2. Comment installer Elgg avec Nginx sur Ubuntu 18.04

  3. Comment configurer Django avec Postgres, Nginx et Gunicorn sur Ubuntu 20.04

  4. Comment sécuriser votre serveur Ubuntu avec le pare-feu CSF

  5. Comment installer Node.js avec NVM et Nginx sur Ubuntu 22.04

Comment configurer l'authentification par mot de passe avec Apache sur Ubuntu 18.04

Comment créer un e-commerce avec Prestashop et Ubuntu 18.04

Comment installer et configurer Sendmail sur Ubuntu

Comment installer Apache Tomcat 10 sur Ubuntu 20.04 avec Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 22.04 avec Nginx

Comment sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04