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.
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.
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.
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.
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.
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
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.
3. Klicke auf die Schaltfläche„Anmelden„, um die Seite zum Erstellen eines Kontos aufzurufen.
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).
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.