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'