So installierst du das Sails.js MVC Framework mit Nginx auf Debian 11

Sails.js ist ein Full-Stack-Node.js-Framework, das auf Express socket.io aufbaut. Es ist ein leistungsstarkes MVC-Framework, das von Ruby on Rails inspiriert ist, aber datengesteuerte APIs und eine skalierbare, serviceorientierte Architektur unterstützt. Sails.js ist ein geeignetes Framework für die Entwicklung moderner und unternehmenstauglicher Anwendungen, insbesondere datengesteuerter Anwendungen.

Sails.js bietet automatisch generierte REST-APIs und ein leistungsstarkes ORM namens Waterline, mit dem Entwickler beliebige Datenbanken wie MySQL, PostgreSQL, MongoDB, Redis usw. verwenden können.

Voraussetzungen

In diesem Artikel erfährst du, wie du das Sails.js Framework auf Debian 11 Bullseye installierst. Außerdem erfährst du, wie du ein neues Projekt mit Sails.js erstellst und Nginx als Reverse Proxy für die Sails.js-Anwendung einrichtest.

Um loszulegen, solltest du die folgenden Voraussetzungen erfüllen.

  • Betriebssystem: Debian 11 Bullseye
  • Root-Rechte

Jetzt geht’s an die Installation.

Installation der Entwicklungswerkzeuge

Zuerst installierst du einige Entwicklungswerkzeuge wie Build-Essentials und GCC auf deinem Debian-System.

1. Melde dich auf deinem Server an und führe den Befehl apt aus, um die Repositories zu aktualisieren.

sudo apt update

2. Als Nächstes führst du den folgenden Befehl aus, um die Entwicklungswerkzeuge zu installieren.

sudo apt install curl build-essential gcc g++ make

Gib„y“ ein, um die Installation zu bestätigen und drücke„Enter„, um fortzufahren.

Node.js LTS und Yarn Package Manager installieren

Bevor du Sails.js installierst, musst du Node.js auf deinem Debian-System installieren.

In diesem Schritt installierst du Node.js über das Repository nodesource.com. Und du wirst die neueste LTS-Version Node.js 16.x installieren.

1. Führe den folgenden Befehl aus, um das Node.js-Repository hinzuzufügen.

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

Der Befehl fügt automatisch das Node.js-Repository hinzu und aktualisiert die Repositories auf deinem System.

Am Ende siehst du die Ausgabemeldungen, die dir vorschlagen, den Yarn-Paketmanager zu installieren.

Nodejs mit dem Nodesource Repository installieren

2. Füge den Yarn GPG-Schlüssel und das Repository mit dem folgenden Befehl hinzu.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

3. Aktualisiere als Nächstes deine Debian-Repositories und installiere dann den Node.js- und Yarn-Paketmanager mit dem folgenden Befehl.

sudo apt update && sudo apt install nodejs yarn

Gib„y“ ein, um die Installation zu bestätigen und drücke„Enter„, um fortzufahren.

4. Wenn die Installation von Node.js und Yarn abgeschlossen ist, überprüfe die Node.js-Version und die Yarn-Version mit dem folgenden Befehl.

node --version
yarn --version

Du wirst eine ähnliche Ausgabe wie unten sehen.

# nodejs version
v16.13.1

# yarn version
1.22.15

Sails.js mit dem Yarn Package Manager installieren

In diesem Schritt installierst du die neueste Version von Sails.js mit dem Yarn-Paketmanager.

1. Führe den folgenden Befehl aus, um Sails.js global oder systemweit zu installieren.

sudo yarn global add sails

Dieser Befehl fügt die Binärdatei„sails“ zu deinem„$PATH“-Verzeichnis hinzu.

2. Führe den unten stehenden Befehl „sails“ aus, um die Version zu überprüfen.

sails --version

In diesem Beispiel haben wir die Version 1.5 von Sails.js installiert.

1.5.0

3. Sieh dir jetzt die Hilfeseite für den Befehl „sails“ an (siehe unten).

sails --help

Unten findest du alle verfügbaren Optionen für den Befehl „sails“.

  Usage: sails [command]

Options:

-v, –version  output the version number
-h, –help     output usage information

Commands:

version
lift|l [options]
new [options] [path_to_new_app]
generate
upgrade
migrate
console|c [options]
www
debug                            (for Node v5 and below)
inspect                          (for Node v6 and above)
run
test
lint
deploy
debug-console|dc
help [command]

Gehe nun zum nächsten Schritt über, um ein neues Sails.js-Projekt zu erstellen.

Erstes Projekt mit Sails.js erstellen

In diesem Schritt lernst du, wie du ein neues Projekt mit Sails.js erstellst. Aus Sicherheitsgründen empfiehlt es sich, ein neues Sails.js-Projekt mit einem Nicht-Root-Benutzer zu starten.

1. Melde dich mit folgendem Befehl bei deinem Benutzer an.

su - username

2. Führe den unten stehenden„sails„-Befehl aus, um eine neue Anwendung zu erstellen. In diesem Beispiel werden wir eine Anwendung„testapp“ erstellen.

sails new testapp

Wähle die Vorlage für deine Anwendung.

Gib die Nummer „1“ ein, um eine vollständige Webanwendungsvorlage auszuwählen, die einige wichtige Funktionen wie Authentifizierung, Anmeldeseite usw. enthält.

Gib die Nummer„2“ ein, um eine leere und klassische Sails.js-Anwendung auszuwählen.

Neue Sails.js Anwendung erstellen

Wenn deine Anwendung erstellt ist, siehst du eine Meldung wie‚Created a new Sails app `testapp`!‚. Und du bekommst ein neues Verzeichnis„testapp“ in deinem Home-Verzeichnis.

3. Wechsle dein Arbeitsverzeichnis zu„testapp“ und führe die Sails.js-Anwendung mit dem unten stehenden Befehl aus.

cd testapp/
sails lift

Jetzt siehst du eine ähnliche Ausgabe wie unten.

Ausführen der Anwendung Sails.jd

Deine Sails.js-Anwendung läuft auf dem„development„-Verzeichnis mit dem Standard-Port„1337„.

4. Öffne deinen Webbrowser und gib deine IP-Adresse mit Port„1337“ in die Adresszeile ein.

http://192.168.1.50:1337/

Du wirst die Standard-Indexseite der Sails.js-Webanwendung sehen.

Sails.jd Index Seite

Gehe nun zurück zu deinem Terminal und drücke„Strg+C„, um die Sails.js-Anwendung zu beenden.

Gehe zum nächsten Schritt über, um deine Sails.js-Anwendung als systemd-Dienst einzurichten.

Sails.app-Anwendung als Systemd-Dienst einrichten

In diesem Schritt erstellst du eine neue systemd-Dienstdatei für die Sails.js-Anwendung.

1. Erstelle mit dem nano-Editor eine neue Servicedatei „testapp.service“.

sudo nano /etc/systemd/system/testapp.service

Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du„User=johndoe“ mit deinem Benutzer und„WorkingDirectory=/home/johndoe/testapp“ mit deinem Projektverzeichnis änderst.

[Unit]
After=network.target

[Service]
Type=simple
User=johndoe
WorkingDirectory=/home/johndoe/testapp
ExecStart=/usr/local/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target

Speichere die Konfiguration und beende sie.

2. Als Nächstes lädst du den systemd manager mit dem folgenden Befehl neu, um die neue Konfiguration anzuwenden.

sudo systemctl daemon-reload

3. Starte deine Sails.js-Anwendung mit dem folgenden Befehl.

sudo systemctl start testapp

Überprüfe deinen Sails.js-Anwendungsdienst mit dem folgenden Befehl.

sudo systemctl status testapp

Du wirst eine ähnliche Ausgabe wie unten sehen.

Sails.js als systemd-Dienst einrichten

Der Sails.js-Anwendungsdienst ist aktiv und läuft. Er läuft in der Standard-Entwicklungsumgebung mit dem Standard-Port „1337“.

Gehe zum nächsten Schritt über, um Nginx als Reverse Proxy für deine Sails.js-Anwendung einzurichten.

Nginx als Reverse Proxy für Sails.js einrichten

In diesem Schritt installierst und konfigurierst du den Webserver Nginx als Reverse Proxy für die Sails.js-Anwendung.

1. Installiere zunächst die Nginx-Pakete mit dem unten stehenden apt-Befehl.

sudo apt install nginx -y

2. Nachdem die Nginx-Installation abgeschlossen ist, erstelle mit dem nano-Editor eine neue Serverblock-Konfiguration „/etc/nginx/sites-available/testapp“.

sudo nano /etc/nginx/sites-available/testapp

Ersetze die Domain„dev.example.io“ durch deine IP-Adresse oder lokale Domain.

server {
 listen       80;
 server_name  dev.example.io;
   location / {
     proxy_pass        http://localhost:1337/;
     proxy_set_header  Host $host;
     proxy_buffering   off;
   }
 }

Speichere die Konfiguration und beende sie.

3. Aktiviere als nächstes die „testapp“-Serverblöcke und überprüfe die Nginx-Konfiguration mit dem folgenden Befehl.

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/
sudo nginx -t

Wenn deine Nginx-Konfiguration fehlerfrei ist, wird die Meldung „syntax is ok“ angezeigt.

4. Starte nun den Nginx-Dienst neu, um eine neue Serverblock-Konfiguration anzuwenden.

sudo systemctl restart nginx

Nginx als Reverse Proxy für Sails.jd einrichten

5. Zum Schluss musst du dem Benutzer„www-data“ den Zugriff auf deine Sails.js-Anwendung erlauben.

Ändere dein Arbeitsverzeichnis mit folgendem Befehl in „/home/johndoe“. In diesem Beispiel verwenden wir den Benutzer„johndoe„.

cd /home/johndoe/

Ändere die Eigentümerschaft und die Rechte für das Sails.js-Anwendungsverzeichnis mit dem folgenden Befehl.

sudo chown -R johndoe:www-data testapp
sudo chmod -R g+rw testapp

Damit hast du die Konfiguration von Nginx als Reverse Proxy für die Sails.js-Anwendung abgeschlossen.

Überprüfe deine Sails.js-Anwendung

1. Bearbeite auf deinem Rechner die „hosts“-Konfiguration mit dem folgenden Befehl.

sudo nano /etc/hosts

Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du die IP-Adresse und den Domänennamen durch deinen eigenen ersetzt.

192.168.1.50  dev.example.io

Speichere die Konfiguration und beende sie.

2. Öffne als Nächstes deinen Webbrowser und gib den lokalen Domainnamen deiner Sails.js-Anwendung wie folgt ein.

http://dev.example.io/

Du wirst den Standardindex der Sails.js-Webanwendung sehen.

Sails.js Anwendung

3. Klicke auf die Schaltfläche„Anmelden„, um die Seite zum Erstellen eines Kontos aufzurufen.

Beispiel Sails.js-Authentifizierung

Gib neue Benutzerdaten und ein Passwort ein und klicke dann auf die Schaltfläche„Konto erstellen„.

4. Nachdem du dich angemeldet hast, siehst du die Willkommensnachricht der Sails.js-Anwendung (siehe unten).

Beispiel Sails.js Benutzer-Dashboard

Fazit

Herzlichen Glückwunsch! Du hast erfolgreich gelernt, wie du das Sails.js-Framework auf Debian 11 Bullseye installieren kannst. Außerdem hast du gelernt, wie du die Sails.js-Anwendung erstellst und die Sails.js-Anwendung als systemd-Dienst einrichtest.

Und schließlich hast du gelernt, wie du Nginx als Reverse Proxy für deine Sails.js-Anwendung einrichtest.

Das könnte dich auch interessieren …