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