Installeer Sails.js Framework met Nginx op CentOS 8

Sails.js is een Javascript raamwerk voor Node.js. Het wordt gebruikt om heel snel real-time toepassingen te ontwikkelen. Het laat je lijken op de MVC architectuur uit raamwerken als Ruby on Rails. Het komt met blauwdrukken die je helpen de backend van je app te starten zonder enige code te schrijven. Het is compatibel met andere front-end waaronder, Angular, React, iOS, Android, Windows Phone, aangepaste hardware, of iets heel anders.

In deze post laten we je zien hoe je Sails.js met Nginx op CentOS 8 kunt installeren.

Vereisten

  • Een server die CentOS 8 draait.
  • Een root wachtwoord is op de server ingesteld.

Installeer Node.js

Installeer eerst alle vereiste afhankelijkheden met het volgende commando:

dnf install curl gcc-c++ make -y

Als alle afhankelijkheden geïnstalleerd zijn, voeg je de Node bronrepository toe met het volgende commando:

curl -sL https://rpm.nodesource.com/setup_16.x | bash -

Na het toevoegen van de Node bron repository, installeer je de Node.js met het volgende commando:

dnf install nodejs -y

Als de installatie voltooid is, controleer dan de versie van Node.js met het volgende commando:

node --version

Je zou de volgende uitvoer moeten krijgen:

v16.4.0

Installeer Sails.js

Je kunt de Sails.js installeren met het NPM commando zoals hieronder getoond:

npm -g install sails

Maak vervolgens je project met Sails.js met het volgende commando:

sails new myproject

Je wordt gevraagd een sjabloon voor je toepassing te kiezen:

 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

Typ 2 en druk op Enter om de toepassing te installeren. Je zou de volgende uitvoer moeten krijgen:

 info: Installing dependencies...
Press CTRL+C to cancel.
(to skip this step in the future, use --fast)

 info: Created a new Sails app `myproject`!

Start de Sails.js toepassing

Verander vervolgens de directory in myproject en start je toepassing met het volgende commando:

cd myproject
sails lift

Je zou de volgende uitvoer moeten krijgen:

 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: -------------------------------------------------------

Druk op CTRL + C om de toepassing te stoppen.

Maak een Systemd Service bestand voor Sails.js

Vervolgens moet je een systemd service bestand maken om je toepassing te beheren.

Je kunt het aanmaken met het volgende commando:

nano /lib/systemd/system/sails.service

Voeg de volgende regels toe:

[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

Bewaar en sluit het bestand en herlaad dan de systemd daemon met het volgende commando:

systemctl daemon-reload

Start vervolgens de Sails dienst en zet hem aan om te starten bij het herstarten van het systeem:

systemctl start sails
systemctl enable sails

Je kunt de status van de Sails controleren met het volgende commando:

systemctl status sails

Je zou de volgende uitvoer moeten krijgen:

? 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: -------------------------------------------------------

Op dit moment is Sails gestart en luistert op poort 1337.

Configureer Nginx als een Reverse Proxy voor de Sails toepassing

Het is aan te bevelen Nginx te installeren en te configureren als een omgekeerde proxy voor je Sails toepassing.

Installeer eerst het Nginx pakket met het volgende commando:

dnf install nginx -y

Na de installatie van Nginx maak je een Nginx virtuele host configuratiebestand voor Sails:

nano /etc/nginx/conf.d/sails.conf

Voeg de volgende regels toe:

server {
 listen       80;
 server_name  sails.domain.com;
   location / {
     proxy_pass        http://localhost:1337/;
     proxy_set_header  Host $host;
     proxy_buffering   off;
   }
 }

Sla het bestand op en sluit het als je klaar bent.

Controleer vervolgens de Nginx op eventuele configuratiefouten met het volgende commando:

nginx -t

Je zou de volgende uitvoer moeten krijgen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Start vervolgens de Nginx service en zet hem aan om te starten bij het herstarten van het systeem:

systemctl start nginx
systemctl enable nginx

Controleer nu de status van de Nginx dienst met het volgende commando:

systemctl status nginx

Configureer Firewall

Vervolgens moet je poort 80 door de firewall toestaan. Je kunt het toestaan met het volgende commando:

firewall-cmd --permanent --zone=public --add-port=80/tcp

Herlaad vervolgens de firewall om de veranderingen toe te passen:

firewall-cmd --reload

Als je klaar bent, kun je verder gaan met de volgende stap.

Toegang tot de Sails.js Web Interface

Open nu je webbrowser en benader de Sails.js webinterface met de URL http://salis.domain.com. Je zou de Sails.js standaard pagina op het volgende scherm moeten zien:

Zeilen.js

Conclusie

Gefeliciteerd! Je hebt met succes Sails.js geïnstalleerd met Nginx als reverse proxy op CentOS 8. Je kunt nu beginnen met het ontwikkelen van real-time toepassingen met Sails.