Sails.js Framework mit Nginx auf CentOS 8 installieren

Sails.js ist ein Javascript-Framework für Node.js. Es wird verwendet, um sehr schnell Echtzeitanwendungen zu entwickeln. Es ermöglicht es dir, die MVC-Architektur von Frameworks wie Ruby on Rails nachzubilden. Es wird mit Blueprints geliefert, die dir helfen, das Backend deiner App zu starten, ohne Code zu schreiben. Es ist kompatibel mit anderen Frontends wie Angular, React, iOS, Android, Windows Phone, benutzerdefinierter Hardware oder etwas ganz anderem.

In diesem Beitrag zeigen wir dir, wie du Sails.js mit Nginx auf CentOS 8 installierst.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Node.js installieren

Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

dnf install curl gcc-c++ make -y

Wenn alle Abhängigkeiten installiert sind, füge das Node-Quell-Repository mit dem folgenden Befehl hinzu:

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

Nachdem du das Node Source Repository hinzugefügt hast, installierst du Node.js mit dem folgenden Befehl:

dnf install nodejs -y

Sobald die Installation abgeschlossen ist, überprüfe die Node.js-Version mit dem folgenden Befehl:

node --version

Du solltest die folgende Ausgabe erhalten:

v16.4.0

Sails.js installieren

Du kannst Sails.js wie unten gezeigt mit dem NPM-Befehl installieren:

npm -g install sails

Als Nächstes erstellst du dein Projekt mit Sails.js mit dem folgenden Befehl:

sails new myproject

Du wirst aufgefordert, eine Vorlage für deine Anwendung zu wählen:

 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

Gib 2 ein und drücke Enter, um die Anwendung zu installieren. Du solltest die folgende Ausgabe erhalten:

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

 info: Created a new Sails app `myproject`!

Starte die Sails.js-Anwendung

Wechsle dann in das Verzeichnis myproject und starte deine Anwendung mit dem folgenden Befehl:

cd myproject
sails lift

Du solltest die folgende Ausgabe erhalten:

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

Drücke CTRL + C, um die Anwendung zu stoppen.

Erstelle eine Systemd-Dienstdatei für Sails.js

Als Nächstes musst du eine systemd-Dienstdatei erstellen, um deine Anwendung zu verwalten.

Du kannst sie mit dem folgenden Befehl erstellen:

nano /lib/systemd/system/sails.service

Füge die folgenden Zeilen ein:

[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

Speichere und schließe die Datei und lade den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starte als Nächstes den Sails-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:

systemctl start sails
systemctl enable sails

Du kannst den Status von Sails mit dem folgenden Befehl überprüfen:

systemctl status sails

Du solltest die folgende Ausgabe erhalten:

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

Zu diesem Zeitpunkt ist Sails gestartet und lauscht auf Port 1337.

Nginx als Reverse Proxy für die Sails-Anwendung konfigurieren

Es wird empfohlen, Nginx als Reverse Proxy für deine Sails-Anwendung zu installieren und zu konfigurieren.

Installiere zunächst das Nginx-Paket mit dem folgenden Befehl:

dnf install nginx -y

Nach der Installation von Nginx erstellst du eine Nginx-Konfigurationsdatei für einen virtuellen Host für Sails:

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

Füge die folgenden Zeilen hinzu:

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

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes überprüfst du Nginx mit folgendem Befehl auf eventuelle Konfigurationsfehler:

nginx -t

Du solltest die folgende Ausgabe erhalten:

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

Starte als Nächstes den Nginx-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:

systemctl start nginx
systemctl enable nginx

Überprüfe nun den Status des Nginx-Dienstes mit folgendem Befehl:

systemctl status nginx

Firewall konfigurieren

Als Nächstes musst du Port 80 in der Firewall zulassen. Du kannst ihn mit dem folgenden Befehl zulassen:

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

Lade dann die Firewall neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf das Sails.js Webinterface

Öffne nun deinen Webbrowser und rufe die Sails.js-Weboberfläche über die URL http://salis.domain.com auf. Auf dem folgenden Bildschirm solltest du die Sails.js-Standardseite sehen:

Sails.js

Fazit

Herzlichen Glückwunsch! Du hast Sails.js erfolgreich mit Nginx als Reverse Proxy auf CentOS 8 installiert. Du kannst jetzt mit der Entwicklung von Echtzeitanwendungen mit Sails beginnen.

Das könnte dich auch interessieren …