Sails.js est un framework Javascript pour Node.js. Il est utilisé pour développer très rapidement des applications temps réel. Il vous permet de ressembler à l'architecture MVC de frameworks comme Ruby on Rails. Il est livré avec des plans qui aident à démarrer le backend de votre application sans écrire de code. Il est compatible avec d'autres frontaux, notamment Angular, React, iOS, Android, Windows Phone, du matériel personnalisé ou autre chose.
Dans cet article, nous allons vous montrer comment installer Sails.js avec Nginx sur CentOS 8
Prérequis
- Un serveur exécutant CentOS 8.
- Un mot de passe root est configuré sur le serveur.
Installer Node.js
Tout d'abord, installez toutes les dépendances requises à l'aide de la commande suivante :
dnf install curl gcc-c++ make -y
Une fois toutes les dépendances installées, ajoutez le dépôt source Node avec la commande suivante :
curl -sL https://rpm.nodesource.com/setup_16.x | bash -
Après avoir ajouté le dépôt source Node, installez Node.js avec la commande suivante :
dnf install nodejs -y
Une fois l'installation terminée, vérifiez la version de Node.js avec la commande suivante :
node --version
Vous devriez obtenir le résultat suivant :
v16.4.0
Installer Sails.js
Vous pouvez installer Sails.js à l'aide de la commande NPM comme indiqué ci-dessous :
npm -g install sails
Ensuite, créez votre projet en utilisant Sails.js avec la commande suivante :
sails new myproject
Il vous sera demandé de choisir un modèle pour votre candidature :
Choose a template for your new Sails app: 1. Web App · Extensible project with auth, login, & password recovery 2. Empty · An empty Sails app, yours to configure (type "?" for help, or <CTRL+C> to cancel) ? 2
Tapez 2 et appuyez sur Entrée pour installer l'application. Vous devriez obtenir le résultat suivant :
info: Installing dependencies... Press CTRL+C to cancel. (to skip this step in the future, use --fast) info: Created a new Sails app `myproject`!
Démarrer l'application Sails.js
Ensuite, changez le répertoire en myproject et démarrez votre application avec la commande suivante :
cd myproject
sails lift
Vous devriez obtenir le résultat suivant :
info: Starting app... info: info: .-..-. info: info: Sails <| .-..-. info: v1.4.3 |\ info: /|.\ info: / || \ info: ,' |' \ info: .-'.-==|/_--' info: `--'-------' info: __---___--___---___--___---___--___ info: ____---___--___---___--___---___--___-__ info: info: Server lifted in `/root/myproject` info: To shut down Sails, press+ C at any time. info: Read more at https://sailsjs.com/support. debug: ------------------------------------------------------- debug: :: Thu Jun 24 2021 04:46:13 GMT-0400 (Eastern Daylight Time) debug: Environment : development debug: Port : 1337 debug: -------------------------------------------------------
Appuyez sur CTRL + C pour arrêter l'application.
Créer un fichier de service Systemd pour Sails.js
Ensuite, vous devrez créer un fichier de service systemd pour gérer votre application.
Vous pouvez le créer avec la commande suivante :
nano /lib/systemd/system/sails.service
Ajoutez les lignes suivantes :
[Unit] After=network.target [Service] Type=simple User=root WorkingDirectory=/root/myproject ExecStart=/usr/bin/sails lift Restart=on-failure [Install] WantedBy=multi-user.target
Enregistrez et fermez le fichier puis rechargez le démon systemd avec la commande suivante :
systemctl daemon-reload
Ensuite, démarrez le service Sails et activez-le au redémarrage du système :
systemctl start sails
systemctl enable sails
Vous pouvez vérifier l'état des voiles avec la commande suivante :
systemctl status sails
Vous devriez obtenir le résultat suivant :
? sails.service Loaded: loaded (/usr/lib/systemd/system/sails.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2021-06-24 04:47:07 EDT; 5s ago Main PID: 47388 (node) Tasks: 22 (limit: 25014) Memory: 148.1M CGroup: /system.slice/sails.service ??47388 node /usr/bin/sails lift ??47395 grunt Jun 24 04:47:09 centos8 sails[47388]: info: ____---___--___---___--___---___--___-__ Jun 24 04:47:09 centos8 sails[47388]: info: Jun 24 04:47:09 centos8 sails[47388]: info: Server lifted in `/root/myproject` Jun 24 04:47:09 centos8 sails[47388]: info: To shut down Sails, press+ C at any time. Jun 24 04:47:09 centos8 sails[47388]: info: Read more at https://sailsjs.com/support. Jun 24 04:47:09 centos8 sails[47388]: debug: ------------------------------------------------------- Jun 24 04:47:09 centos8 sails[47388]: debug: :: Thu Jun 24 2021 04:47:09 GMT-0400 (Eastern Daylight Time) Jun 24 04:47:09 centos8 sails[47388]: debug: Environment : development Jun 24 04:47:09 centos8 sails[47388]: debug: Port : 1337 Jun 24 04:47:09 centos8 sails[47388]: debug: -------------------------------------------------------
À ce stade, Sails est démarré et écoute sur le port 1337.
Configurer Nginx en tant que proxy inverse pour l'application Sails
Il est recommandé d'installer et de configurer Nginx en tant que proxy inverse pour votre application Sails.
Tout d'abord, installez le package Nginx avec la commande suivante :
dnf install nginx -y
Après avoir installé Nginx, créez un fichier de configuration d'hôte virtuel Nginx pour Sails :
nano /etc/nginx/conf.d/sails.conf
Ajoutez les lignes suivantes :
server { listen 80; server_name sails.domain.com; location / { proxy_pass http://localhost:1337/; proxy_set_header Host $host; proxy_buffering off; } }
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, vérifiez le Nginx pour toute erreur de configuration avec la commande suivante :
nginx -t
Vous devriez obtenir le résultat suivant :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Ensuite, démarrez le service Nginx et activez-le au redémarrage du système :
systemctl start nginx
systemctl enable nginx
Maintenant, vérifiez l'état du service Nginx avec la commande suivante :
systemctl status nginx
Configurer le pare-feu
Ensuite, vous devrez autoriser le port 80 à travers le pare-feu. Vous pouvez l'autoriser avec la commande suivante :
firewall-cmd --permanent --zone=public --add-port=80/tcp
Ensuite, rechargez le pare-feu pour appliquer les modifications :
firewall-cmd --reload
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web Sails.js
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web Sails.js en utilisant l'URL http://salis.domain.com . Vous devriez voir la page par défaut de Sails.js sur l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé avec succès Sails.js avec Nginx en tant que proxy inverse sur CentOS 8. Vous pouvez maintenant commencer à développer des applications en temps réel avec Sails.