Sails.js hè un robustu framework Javascript chì facilita a creazione di applicazioni Node.js di qualità impresa. S'assumiglia à l'architettura MVC di frameworks cum'è Ruby on Rails ma cù un supportu migliuratu per u stilu mudernu di sviluppu web più orientatu à i dati. Inoltre, Sails.js hè cumpatibile cù una larga gamma di tecnulugia di front-end, cumprese Angular, React, iOS, Android è Windows Phone. Questu rende l'ideale per u sviluppu di applicazioni web cumplesse chì deve esse eseguite nantu à parechje piattaforme. Cù e so caratteristiche robuste è l'API faciule d'utilizazione, Sails.js hè l'uttellu perfettu per custruisce applicazioni Node.js d'alta qualità.
In u tutoriale seguente, amparate cumu installà Sails.js in Rocky Linux 9 è accede à l'interfaccia web-based installendu è cunfigurà una configurazione di proxy inversa Nginx..
Table di cuntinutu
Installa i Pacchetti Required
U primu compitu hè di verificà o installà i seguenti pacchetti esecutendu u cumandimu seguitu.
sudo dnf install curl gcc-c++ make -y
Una volta chì e dependenzii sò stallati, avete ancu bisognu di installà Node.js.
U tutorialu installerà l'ultima versione stabile di NPM, ma pudete cambià questu à qualsiasi versione alternativa chì hè sempre supportata.
Prima, impurtate u repository Node.js utilizendu u cumandamentu di u terminal.
curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -
Più infurmazione nantu à a versione attuale pò esse truvata da visità u NodeSource.
Dopu, installate Node.js.
sudo dnf install nodejs -y
Installa Sails.js
A prossima parte di a stallazione aduprà NPM per installà Sails.js. Per fà questu, utilizate u cumandimu seguitu.
sudo npm -g install sails
Infine, assicuratevi chì u vostru NPM hè aghjurnatu cù u cumandimu seguitu. Questu hè criticu; ùn saltate micca.
sudo npm install npm@latest -g
Avà chì Sails.js hè stallatu, u prossimu passu hè di creà un novu prughjettu chì pudete nome qualcosa chì ti piace, ma serà chjamatu. "testapp" per u tutoriale.
Prima, crea u cartulare, chì pò esse situatu in ogni locu. Basta à nutà u locu cumpletu per più tardi per u serviziu systemd. U tutoriale aduprà u cartulare www.
sudo mkdir -p /var/www/ && cd /var/www/
Crea u "testapp" aduprendu u cumandimu seguente.
sudo sails new testapp
Serà dumandatu à sceglie un mudellu per a vostra applicazione Sails.
esempiu:
Tipo 2 è presse a ENTER CHIAVE per procederà è compie u "testapp" creazione
esempiu:
Dopu, navigate è lanciate u "testapp" per pruvà è verificà.
cd testapp && sudo sails lift
Esempiu di output:
Per esce, aduprà u (CTRL+C) cumannu.
Crea un File Service Systemd per Sails.js
Per avè è gestisce un serviziu systemd per Sails.js, duvete creà un schedariu di serviziu systemd.
Crea u schedariu di serviziu cù u cumandimu seguitu.
sudo nano /lib/systemd/system/sails.service
Dopu, copia è incollà i seguenti.
[Unit]
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/var/www/testapp
ExecStart=/usr/bin/sails lift
Restart=on-failure
[Install]
WantedBy=multi-user.target
esempiu:
Nota, se mette u locu di u repertoriu Sail.js in un locu diversu, cambiate u "WorkingDirectory=/var/www/testapp" strada in u serviziu systemd.
Salvate u fugliale (CTRL+O), poi esci (CTLR + X).
Dopu, ricaricà u daemon systemd.
sudo systemctl daemon-reload
In seguitu, inizià u serviziu Sails.js è attivate per inizià à u reboot di u sistema:
sudo systemctl enable sails --now
Avà verificate u statutu di u serviziu Sails.js cù u cumandimu seguitu.
systemctl status sails
Esempiu di output:
Installa è cunfigurà Reverse Proxy
Installa Nginx
U tutorialu aduprà Nginx cum'è u proxy inversu per aduprà Sails. Altri proxy inversi ponu esse utilizati. Tuttavia, Nginx hè più simplice è affidabile in a sicurità è u rendiment chì a maiò parte di l'altri opzioni.
Prima, installate a versione predeterminata di Nginx dispunibule nantu à Rocky Linux 9.
sudo dnf install nginx -y
Dopu, verificate a versione di a versione è se a stallazione hè stata successu.
nginx -v
Prima di cuntinuà, duvete inizià u serviziu Nginx.
sudo systemctl enable nginx --now
Dopu, verificate u statutu per assicurà chì ùn ci sò micca errori.
systemctl status nginx
Esempiu di output se tuttu funziona bè:
Configurate Nginx cum'è Reverse Proxy
Dopu, crea un bloccu di u servitore (host virtuale) per l'applicazione Sails. Questu pò esse fattu cù u vostru editore di testu preferitu.
esempiu:
sudo nano /etc/nginx/conf.d/sails.conf
Avà copia è incollà i seguenti cù mudificà u "example.com" duminiu à u vostru propiu.
server {
listen 80;
server_name sails.example.com;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Salvate u fugliale (CTRL+O), poi esci (CTRL+X).
Dopu, pruvate chì u schedariu di cunfigurazione funziona è ùn ci sò micca errori.
sudo nginx -t
Esempiu di output se ùn ci hè micca errore:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Riavvia u serviziu una volta Nginx torna un statu ok durante a prova secca.
sudo systemctl restart nginx
Configurate e regule FirewallD
Nisuna regula di firewall hè stabilitu à i porti standard 80 o 443 quandu installate Nginx. Prima di cuntinuà, duvete stabilisce e regule seguenti, questu dependerà di quali porti chì avete aduprà, ma tutte l'opzioni sò listate.
Apertura u portu 80 o HTTP:
sudo firewall-cmd --permanent --zone=public --add-service=http
Apertura u portu 443 o HTTPS:
sudo firewall-cmd --permanent --zone=public --add-service=https
Ricaricate u firewall per fà i cambiamenti in effettu
sudo firewall-cmd --reload
Nota chì pudete cunfigurà HTTPS più tardi in u tutoriale se ùn site micca sicuru.
Accessu à l'interfaccia Web Sails.js
Avà chì avete installatu è cunfiguratu sails.js è Nginx cum'è u proxy inversu, pudete apre e vostre applicazioni Sails.js visitendu u duminiu chì avete specificatu apre u vostru navigatore Internet preferitu è scrivite e seguenti.
http://salis.example.com
Sè successu, duvete vede a pagina di destinazione predeterminata Sails.js.
esempiu:
Felicitazioni, avete installatu cù successu Sails.js.
Secure Nginx cù Let's Encrypt SSL Free Certificate
Ideale, vulete eseguisce u vostru servitore web Apache in HTTPS cù un certificatu SSL. U megliu modu per fà questu hè di utilizà Let's Encrypt, una autorità di certificatu gratuitu, automatizatu è apertu gestitu da u Gruppu di Ricerca Internet Security (ISRG) senza prufittu.
Rocky Linux 9 hè una di e pochi distribuzioni senza Certbot dispunibule cù DNF. Tuttavia, pudete installà snap per gestisce questu finu à chì l'EPEL / EPEL Next 9 si ritrova.
Prima, installate snapd.
sudo dnf install snapd -y
Una volta installatu, attivate immediatamente è à l'iniziu di u sistema per monitorizà l'aghjurnamenti.
sudo systemctl enable snapd --now
In seguitu, installate u core snap per copre tutte e dipendenze necessarie per i pacchetti snap.
sudo snap install core
Crea un ligame simbolicu per u cartulare snapd.
sudo ln -s /var/lib/snapd/snap /snap
Installa u pacchettu snap Certbot.
sudo snap install --classic certbot
Infine, crea un altru ligame simbolicu per certbot.
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Una volta installatu, eseguite u cumandimu seguitu per inizià a creazione di u vostru certificatu:
sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
In alternativa, aduprate u cumandimu seguitu è seguite i suggerimenti se più accessibile.
sudo certbot certonly --nginx
Questa cunfigurazione ideale include redirezzione HTTPS 301 forzata, un capu Strict-Transport-Security, è OCSP Stapling. Solu assicuratevi di aghjustà l'e-mail è u nome di duminiu à i vostri bisogni.
Avà u vostru URL serà HTTPS://sails.example.com invece di HTTP://sails.example.com.
Opcionalmente, pudete stabilisce un travagliu cron per rinnuvà i certificati automaticamente. Certbot offre un script chì face questu automaticamente, è pudete prima pruvà per assicurà chì tuttu hè travagliatu eseguendu una corsa secca.
sudo certbot renew --dry-run
Appena utilizate a systemctl-timers per cunfirmà chì ci hè un travagliu cron attualmente chì travaglia per verificà è rinnuvà u vostru certificatu.
systemctl list-timers
Ci hè un cronometru per verificà è rinnuvà u certificatu prima di scadenza, cusì ùn avete micca bisognu di preoccupassi di novu.
Cumenti è cunclusioni
Sè vo circate un framework Javascript putente è faciule d'utilizà chì vi permetterà di custruisce rapidamente applicazioni web persunalizati, allora Sails.js hè una opzione eccellente per cunsiderà. Cù a so architettura MVC è a cumpatibilità cù altri frameworks front-end populari, hè sicuru di fà u vostru prucessu di sviluppu più faciule è più veloce.