Sails.js dia rafitra Javascript matanjaka izay manamora ny fananganana fampiharana Node.js amin'ny orinasa. Mitovy amin'ny rafitra MVC amin'ny rafitra toa an'i Ruby on Rails izy io saingy miaraka amin'ny fanohanana nohatsaraina amin'ny fomba maoderina kokoa amin'ny fampivoarana tranonkala. Fanampin'izany, ny Sails.js dia mifanentana amin'ny teknolojia faran'izay betsaka, anisan'izany ny Angular, React, iOS, Android, ary Windows Phone. Izany no mahatonga azy io ho tonga lafatra amin'ny famolavolana rindranasa tranonkala sarotra izay tsy maintsy mandeha amin'ny sehatra maro. Miaraka amin'ireo endri-javatra matanjaka sy API mora ampiasaina, Sails.js no fitaovana tonga lafatra amin'ny fananganana rindranasa Node.js avo lenta.
Ao amin'ity lesona manaraka ity dia hianatra ny fomba fametrahana Sails.js amin'ny Rocky Linux 9 ianao ary miditra amin'ny interface mifototra amin'ny Internet amin'ny alàlan'ny fametrahana sy ny fametrahana ny Nginx reverse proxy setup.
Fizahan-takelaka
Mametraka fonosana ilaina
Ny asa voalohany dia ny manamarina na mametraka ireto fonosana manaraka ireto amin'ny alàlan'ny fampandehanana ity baiko manaraka ity.
sudo dnf install curl gcc-c++ make -y
Rehefa tafapetraka ny fiankinan-doha dia mila mametraka ny Node.js ihany koa ianao.
Ny lesona dia hametraka ny kinova stable farany an'ny NPM, saingy azonao atao ny manova izany amin'ny dikan-teny hafa mbola tohana.
Voalohany, ampidiro ny tahiry Node.js amin'ny alàlan'ny baiko terminal manaraka.
curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -
Ny fampahalalana bebe kokoa momba ny dikan-teny ankehitriny dia azo jerena amin'ny fitsidihana ny NodeSource.
Manaraka, apetraho ny Node.js.
sudo dnf install nodejs -y
Mametraka Sails.js
Ny ampahany manaraka amin'ny fametrahana dia hampiasa NPM hametrahana Sails.js. Mba hanaovana izany, ampiasao ity baiko manaraka ity.
sudo npm -g install sails
Farany, ataovy azo antoka fa ny NPM-nao dia nohavaozina amin'ny fampiasana ity baiko manaraka ity. Fanakianana izany; aza mandingana.
sudo npm install npm@latest -g
Ankehitriny rehefa tafapetraka ny Sails.js, ny dingana manaraka dia ny mamorona tetikasa vaovao izay azonao omena anarana izay tianao, fa hantsoina hoe "testapp" ho an'ny lesona.
Voalohany, mamorona ny lahatahiry, izay azo hita na aiza na aiza. Mariho fotsiny ny toerana feno ho an'ny serivisy systemd. Ny lesona dia hampiasa ny lahatahiry www.
sudo mkdir -p /var/www/ && cd /var/www/
Mamorona ny "testapp" mampiasa ity baiko manaraka ity.
sudo sails new testapp
Hisy bitsika hangatahana hisafidy môdely ho an'ny fampiharana Sails anao.
ohatra:
nitendry 2 ary tsindrio ny ENTER KEY hanohizana sy hamita ny "testapp" zavaboary.
ohatra:
Manaraka, mandehana ary manomboka ny "testapp" hizaha toetra sy hanamarina.
cd testapp && sudo sails lift
Ohatra output:
Raha hivoaka, ampiasao ny (CTRL+C) baiko.
Mamorona rakitra serivisy Systemd ho an'ny Sails.js
Raha te hanana sy hitantana serivisy systemd ho an'ny Sails.js dia tsy maintsy mamorona rakitra serivisy systemd ianao.
Mamorona rakitra serivisy amin'ny alàlan'ny baiko manaraka.
sudo nano /lib/systemd/system/sails.service
Manaraka, kopia sy apetaho ireto manaraka ireto.
[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
ohatra:
Mariho, raha mametraka ny toerana misy ny lahatahiry Sail.js amin'ny toerana hafa ianao dia ovay ny "WorkingDirectory=/var/www/testapp" lalana ao amin'ny serivisy systemd.
Tehirizo ilay rakitra (CTRL+O), dia mivoaka (CTLR+X).
Avy eo, avereno indray ny daemon systemd.
sudo systemctl daemon-reload
Avy eo, atombohy ny serivisy Sails.js ary avelao izy hanomboka amin'ny famerenana ny rafitra:
sudo systemctl enable sails --now
Hamarino izao ny satan'ny serivisy Sails.js miaraka amin'ity baiko manaraka ity.
systemctl status sails
Ohatra output:
Ampidiro & amboary ny Proxy Reverse
Hametraka an'i Nginx
Ny lesona dia hampiasa Nginx ho proxy mifanohitra amin'ny fampiasana Sails. Azo ampiasaina ny proxy mivadika hafa. Na izany aza, ny Nginx dia mahitsy sy azo itokisana kokoa amin'ny fiarovana sy ny fampisehoana noho ny ankamaroan'ny safidy hafa.
Voalohany, apetraho ny kinova Nginx default misy amin'ny Rocky Linux 9.
sudo dnf install nginx -y
Manaraka, hamarino ny fananganana version ary raha nahomby ny fametrahana.
nginx -v
Alohan'ny hanohizanao dia tsy maintsy manomboka ny serivisy Nginx ianao.
sudo systemctl enable nginx --now
Manaraka, hamarino ny sata mba hahazoana antoka fa tsy misy lesoka.
systemctl status nginx
Ohatra Output raha toa ka mandeha tsara ny zava-drehetra:
Ampidiro ny Nginx ho Reverse Proxy
Manaraka, mamorona sakana mpizara (host virtoaly) ho an'ny fampiharana Sails. Azo atao amin'ny mpamoaka lahatsoratra tianao indrindra izany.
ohatra:
sudo nano /etc/nginx/conf.d/sails.conf
Adikao ary apetaho izao manaraka izao miaraka amin'ny fanovana ny "example.com" domain ho anao manokana.
server {
listen 80;
server_name sails.example.com;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Tehirizo ilay rakitra (CTRL+O), dia mivoaka (CTRL+X).
Manaraka, andramo fa miasa ny rakitra fanamafisana ary tsy misy lesoka.
sudo nginx -t
Ohatra vokatra raha tsy misy lesoka:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Avereno indray ny serivisy rehefa mamerina ny sata ok i Nginx mandritra ny fitsapana maina.
sudo systemctl restart nginx
Ampifanaraho ny Fitsipika FirewallD
Tsy misy fitsipika firewall napetraka amin'ny seranan-tsambo mahazatra 80 na 443 rehefa mametraka Nginx. Alohan'ny hanohizanao dia tokony hametraka ireto fitsipika manaraka ireto ianao, miankina amin'ny seranan-tsambo hampiasainao izany, fa ny safidy rehetra dia voatanisa.
Sokafy ny seranan-tsambo 80 na HTTP:
sudo firewall-cmd --permanent --zone=public --add-service=http
Sokafy ny seranan-tsambo 443 na HTTPS:
sudo firewall-cmd --permanent --zone=public --add-service=https
Avereno avereno ny firewall mba hampisy fiovana
sudo firewall-cmd --reload
Mariho fa afaka manangana HTTPS ianao any aoriana any amin'ny lesona raha tsy azonao antoka.
Midira amin'ny Sails.js Web Interface
Ankehitriny rehefa vitanao ny nametraka sy nanamboatra ny sails.js sy Nginx ho proxy mivadika, dia azonao atao ny manokatra ny rindranasa Sails.js anao amin'ny alàlan'ny fitsidihana ny sehatra nofaritanao amin'ny fanokafana ny Internet Browser tianao indrindra ary manoratra ireto manaraka ireto.
http://salis.example.com
Raha tafita ianao dia tokony ho hitanao ny pejy fipetrahana default Sails.js.
ohatra:
Arahabaina, nahavita nametraka Sails.js soa aman-tsara ianao.
Arovy ny Nginx miaraka amin'ny Let's Encrypt SSL Free Certificate
Ny tsara indrindra dia tianao ny hampandeha ny mpizara tranonkala Apache anao amin'ny HTTPS amin'ny alàlan'ny fanamarinana SSL. Ny fomba tsara indrindra hanaovana izany dia ny fampiasana Let's Encrypt, fahefana fanamarinana maimaim-poana, mandeha ho azy ary misokatra izay tantanin'ny Internet Security Research Group (ISRG) tsy mitady tombontsoa.
Rocky Linux 9 dia iray amin'ireo fizarana vitsivitsy tsy misy Certbot misy amin'ny DNF. Na izany aza, azonao atao ny mametraka snap mba hitantana izany mandra-pahatongan'ny EPEL/EPEL Next 9.
Voalohany, mametraka snapd.
sudo dnf install snapd -y
Rehefa tafapetraka dia avelao izy io avy hatrany ary amin'ny fanombohana ny rafitra hanaraha-maso ny fanavaozana.
sudo systemctl enable snapd --now
Manaraka, apetraho ny snap core mba handrakotra ny fiankinan-doha rehetra ilaina amin'ny fonosana snap.
sudo snap install core
Mamorona symlink ho an'ny lahatahiry snapd.
sudo ln -s /var/lib/snapd/snap /snap
Apetraho ny fonosana snap Certbot.
sudo snap install --classic certbot
Farany, mamorona symlink hafa ho an'ny certbot.
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Rehefa tafapetraka dia araho ity baiko manaraka ity hanombohana ny famoronana ny taratasy fanamarinana anao:
sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
Raha tsy izany, ampiasao ity baiko manaraka ity ary araho ny bitsika raha azo idirana kokoa.
sudo certbot certonly --nginx
Ity fananganana tsara indrindra ity dia ahitana ny famerenan-kery HTTPS 301, lohapejy Strict-Transport-Security, ary OCSP Stapling. Ataovy azo antoka fotsiny ny manitsy ny e-mail sy ny anaran-tsehatra amin'ny zavatra takinao.
Izao ny URL-nao dia ho HTTPS://sails.example.com raha tokony ho HTTP://sails.example.com.
Raha azo atao dia azonao atao ny mametraka asa cron hanavao ho azy ireo fanamarinana. Certbot dia manolotra script izay manao izany ho azy, ary azonao atao ny mitsapa aloha mba hahazoana antoka fa mandeha ny zava-drehetra amin'ny fanaovana hazakazaka maina.
sudo certbot renew --dry-run
Manaraka, ampiasao ny systemctl-timers hanamafisana fa misy asa cron miasa amin'izao fotoana izao amin'ny fanamarinana sy fanavaozana ny taratasy fanamarinana anao.
systemctl list-timers
Misy fameram-potoana hanamarina sy hanavao ny taratasy fanamarinana alohan'ny lany daty, ka tsy mila manahy intsony ianao.
Hevitra sy fehin-kevitra
Raha mitady rafitra Javascript matanjaka sy mora ampiasaina ianao izay ahafahanao manangana rindranasa an-tranonkala namboarina haingana, dia safidy tsara hodinihina ny Sails.js. Miaraka amin'ny maritranony MVC sy mifanaraka amin'ireo rafitra malaza eo anoloana, azo antoka fa hanamora sy haingana kokoa ny fizotran'ny fivoaranao.