So installierst du das Sails.js Framework auf Ubuntu 22.04
Sails ist ein Echtzeit-MVC-Framework für die Erstellung produktionsreifer Node.js-Anwendungen für Unternehmen. Es ist ein hervorragendes Werkzeug, um Websites schnell zu erstellen und zu prototypisieren. Es baut auf Node JS und Express JS auf, sodass alles, was in NodeJS und Express anwendbar ist, auch mit Sails JS funktioniert. Es unterstützt skalierbare WebSockets, eine serviceorientierte Architektur und mehrere Datenspeicher im selben Projekt und bietet grundlegende Sicherheitsfunktionen und eine rollenbasierte Zugriffskontrolle.
In diesem Beitrag zeige ich dir, wie du Sails.js mit Apache als Reverse Proxy auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Erste Schritte
Bevor du beginnst, solltest du deine Pakete auf die neueste Version aktualisieren. Du kannst alle Pakete aktualisieren, indem du den folgenden Befehl ausführst:
apt update -y apt upgrade -y
Sobald alle Pakete aktualisiert sind, installierst du die anderen erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install curl wget gnupg2 -y
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Node.js installieren
Als Nächstes musst du Node.js und NPM installieren, um eine Sails.js-Anwendung zu erstellen. Füge zunächst das Node.js-Repository mit dem folgenden Befehl hinzu:
curl -sL https://deb.nodesource.com/setup_16.x | bash -
Sobald das Repository hinzugefügt ist, installierst du das Node.js-Paket mit dem folgenden Befehl:
apt-get install nodejs -y
Nach der Installation kannst du die Node.js-Version mit folgendem Befehl überprüfen:
node --version
Du erhältst die Node.js-Version in der folgenden Ausgabe:
v16.17.1
Sails.js installieren
Als nächstes musst du Sails.js auf deinem Server installieren. Du kannst Sails mit dem Node Package Manager installieren.
npm -g install sails
Sobald Sails installiert ist, kannst du es mit dem folgenden Befehl überprüfen:
sails --version
Du erhältst die Sails-Version in der folgenden Ausgabe:
1.5.3
Eine Sails.js-Anwendung erstellen
Nachdem wir Sails installiert haben, erstellen wir eine einfache Sails-Anwendung mit dem folgenden Befehl:
sails new sails-app
Du solltest die folgende Ausgabe erhalten:
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 info: Installing dependencies... Press CTRL+C to cancel. (to skip this step in the future, use --fast) info: Created a new Sails app `sails-app`!
Du kannst alle von Sails erstellten Dateien mit dem folgenden Befehl überprüfen:
ls sails-app
Du solltest die folgende Ausgabe sehen:
api app.js assets config Gruntfile.js node_modules package.json package-lock.json README.md tasks views
Wechsle als Nächstes in das Verzeichnis deiner Sails-Anwendung und starte die Anwendung mit dem folgenden Befehl:
cd sails-app sails lift
Du solltest die folgende Ausgabe sehen:
info: Starting app... info: info: .-..-. info: info: Sails <| .-..-. info: v1.5.3 |\ info: /|.\ info: / || \ info: ,' |' \ info: .-'.-==|/_--' info: `--'-------' info: __---___--___---___--___---___--___ info: ____---___--___---___--___---___--___-__ info: info: Server lifted in `/root/sails-app` info: To shut down Sails, press + C at any time. info: Read more at https://sailsjs.com/support. debug: ------------------------------------------------------- debug: :: Sun Sep 25 2022 05:43:59 GMT+0000 (Coordinated Universal Time) debug: Environment : development debug: Port : 1337 debug: -------------------------------------------------------
Drücke die Tastenkombination STRG+C, um die Anwendung zu beenden. Wir werden eine systemd-Dienstdatei erstellen, um die Sails-Anwendung zu starten und zu verwalten.
Eine Systemd-Dienstdatei für Sails.js erstellen
Als Nächstes musst du eine systemd-Dienstdatei erstellen, um die Sails.js-Anwendung zu verwalten. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/sails-app.service
Füge die folgenden Zeilen hinzu:
[Unit] After=network.target [Service] Type=simple User=root WorkingDirectory=/root/sails-app ExecStart=/usr/bin/sails lift Restart=on-failure [Install] WantedBy=multi-user.target
Speichere und schließe die Datei und lade dann den systemd-Daemon neu, um die Änderungen zu übernehmen:
systemctl daemon-reload
Starte als Nächstes den Sails.js-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:
systemctl start sails-app systemctl enable sails-app
Jetzt kannst du den Status der Sails-Anwendung mit dem folgenden Befehl überprüfen:
systemctl status sails-app
Du solltest die folgende Ausgabe erhalten:
? sails-app.service Loaded: loaded (/etc/systemd/system/sails-app.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2022-09-25 05:44:42 UTC; 6s ago Main PID: 2896 (node) Tasks: 22 (limit: 4579) Memory: 159.2M CPU: 3.676s CGroup: /system.slice/sails-app.service ??2896 node /usr/bin/sails lift ??2903 grunt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "> Sep 25 05:44:44 ubuntu2204 sails[2896]: info: ____---___--___---___--___---___--___-__ Sep 25 05:44:44 ubuntu2204 sails[2896]: info: Sep 25 05:44:44 ubuntu2204 sails[2896]: info: Server lifted in `/root/sails-app` Sep 25 05:44:44 ubuntu2204 sails[2896]: info: To shut down Sails, press + C at any time. Sep 25 05:44:44 ubuntu2204 sails[2896]: info: Read more at https://sailsjs.com/support. Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: ------------------------------------------------------- Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: :: Sun Sep 25 2022 05:44:44 GMT+0000 (Coordinated Universal Time) Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: Environment : development Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: Port : 1337 Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: -------------------------------------------------------
Zu diesem Zeitpunkt ist die Sails-Anwendung gestartet und lauscht auf Port 1337. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Apache als Reverse Proxy für Sails.js konfigurieren
Es ist eine gute Idee, Apache als Reverse Proxy für den Zugriff auf die Sails-Anwendung zu konfigurieren. Installiere zunächst den Apache-Server mit dem folgenden Befehl:
apt install apache2 -y
Sobald das Apache-Paket installiert ist, erstellst du mit dem folgenden Befehl eine Konfigurationsdatei für den virtuellen Apache-Host:
nano /etc/apache2/sites-available/sails.conf
Füge die folgenden Zeilen ein:
<VirtualHost *:80> ServerName sailsapp.example.com ServerAdmin webmaster@example.com DocumentRoot /root/sails-app ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <LocationMatch "^/(?!js|css|media)" > ProxyPass http://127.0.0.1:1337 ProxyPassReverse http://127.0.0.1:1337 </LocationMatch> <Location "/dist/"> ProxyPass ! </Location> RewriteEngine On RewriteCond %{REQUEST_URI} ^/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /(.*) ws://localhost:1337/$1 [P,L] </VirtualHost>
Speichere und schließe die Datei und aktiviere den virtuellen Sails-Host mit dem folgenden Befehl:
a2ensite sails.conf
Als Nächstes aktivierst du andere Apache-Module mit dem folgenden Befehl:
a2enmod headers proxy_http xml2enc proxy ssl proxy_wstunnel rewrite proxy_ajp deflate proxy_balancer proxy_connect proxy_html
Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart apache2
Du kannst nun den Status des Apache-Dienstes mit folgendem Befehl überprüfen:
systemctl status apache2
Du solltest die folgende Ausgabe erhalten:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-09-25 05:46:54 UTC; 2s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 3986 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 3990 (apache2) Tasks: 55 (limit: 4579) Memory: 6.8M CPU: 90ms CGroup: /system.slice/apache2.service ??3990 /usr/sbin/apache2 -k start ??3991 /usr/sbin/apache2 -k start ??3992 /usr/sbin/apache2 -k start Sep 25 05:46:54 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...
Derzeit ist der Apache-Webserver installiert und als Reverse-Proxy für die Sails.js-Anwendung konfiguriert. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Zugriff auf die Sails.js Web UI
Du kannst nun deinen Webbrowser öffnen und über die URL http://sailsapp.example.com auf die Sails.js-Weboberfläche zugreifen . Auf dem folgenden Bildschirm solltest du die Sails.js-Weboberfläche sehen:
Fazit
Herzlichen Glückwunsch! Du hast Sails.js erfolgreich mit Apache als Reverse Proxy auf Ubuntu 22.04 installiert. Du kannst jetzt eine skalierbare und produktionsreife Webanwendung mit dem Sails.js-Framework hosten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.