Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Sails.js se yon kad Javascript ke ou ka itilize fasil epi byen vit bati Customized antrepriz-klas pou Node.js. Li sanble ak achitekti MVC ki soti nan kad sa yo tankou Ruby on Rails, men ak sipò amelyore pou style modèn plis oryante done pou devlope aplikasyon entènèt epi li konpatib ak lòt front-end ki gen ladan Angilè, React, iOS, Android, Windows Phone, ak plis toujou.

Nan leson patikilye sa a, ou pral aprann kijan pou enstale Sails.js epi jwenn aksè nan koòdone ki baze sou entènèt la lè w enstale ak konfigirasyon yon konfigirasyon proxy inverse Nginx sou Rocky Linux 8.

Kondisyon

  • OS rekòmande: Rocky Linux 8.+.
  • Kont itilizatè: Yon kont itilizatè ki gen aksè sudo oswa rasin.
  • Pakè obligatwa: pli, gcc-c++, fè

Mizajou sistèm operasyon

Mete ajou ou Rocky linux sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo dnf upgrade --refresh -y

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo.

Pou verifye estati sudo sou kont ou:

sudo whoami

Egzanp pwodiksyon ki montre estati sudo:

[joshua@rockylinux ~]$ sudo whoami
root

Pou mete kanpe yon kont sudo ki deja egziste oswa nouvo, vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou Rocky Linux.

Pou itilize kont rasin, sèvi ak lòd sa a ak modpas rasin lan pou konekte.

su

reklam


Enstale Dependecies pou Sails.js

Premye travay la se tcheke oswa enstale pakè sa yo pa kouri lòd sa a.

sudo dnf install curl gcc-c++ make

Egzanp pwodiksyon:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Kalite Y, Lè sa a, peze la ANTRE KLE kontinye ak enstale depandans yo.

Yon fwa depandans yo enstale, w ap bezwen tou enstale Node.js.

Leson patikilye a pral enstale NPM 16, men ou ka chanje sa a nan nenpòt vèsyon altènatif ki toujou sipòte.

Premyèman, enpòte repozitwa Node.js la lè l sèvi avèk lòd tèminal sa a.

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

Apre sa, enstale Node.js.

sudo dnf install nodejs

Egzanp pwodiksyon:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Kalite Y, Lè sa a, peze la ANTRE KLE kontinye.

Pandan enstalasyon an, yo pral mande w pou enpòte kle GPG la.

Egzanp:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Kalite Y, Lè sa a, peze la ANTRE KLE kontinye epi konplete enstalasyon an.

Yon fwa enstalasyon an fini, verifye enstalasyon an lè w tcheke nimewo vèsyon vèsyon an.

node --version

Egzanp pwodiksyon:

v16.12.0

Altènativman, si w ap chèche pou yon vèsyon espesifik nan Node.js, vizite leson patikilye nou an Ki jan yo enstale Node.JS 14 / 16 & NPM sou Rocky Linux 8.

Enstale Sails.js

Pwochen pati enstalasyon an pral sèvi ak NPM pou enstale Sails.js. Pou fè sa, sèvi ak lòd sa a.

sudo npm -g install sails

Kounye a ke Sails.js enstale, pwochen etap la se kreye yon nouvo pwojè ke ou ka nonmen nenpòt bagay ou renmen, men li pral rele. "testapp" pou leson patikilye a.

Premyèman, kreye anyè a, ki ka lokalize nenpòt kote. Jis sonje kote konplè a pou pita pou sèvis systemd. Leson patikilye a pral sèvi ak anyè www la.

sudo mkdir -p /var/www/
cd /var/www/

Pou kreye a "testapp," sèvi ak lòd sa a.

sudo sails new testapp

Y ap mande yon èd memwa pou chwazi yon modèl pou aplikasyon Sails ou a.

Egzanp:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

tape 2 ak laprès la ANTRE KLE pou kontinye epi konplete "testapp" kreyasyon.

Egzanp:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Apre sa, navige epi lanse a "testapp" teste ak verifye.

cd mytestapp
sudo sails lift

Egzanp pwodiksyon:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Pou sòti, sèvi ak la (CTRL+C) lòd.


reklam


Kreye yon fichye sèvis Systemd pou Sails.js

Pou genyen ak jere yon sèvis systemd pou Sails.js, ou dwe kreye yon fichye sèvis systemd.

Kreye fichye sèvis la lè l sèvi avèk kòmandman sa a.

sudo nano /lib/systemd/system/sails.service

Apre sa, kopye epi kole sa ki annapre yo.

[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

Remake byen, si ou mete kote anyè Sail.js nan yon lòt kote, asire w ke ou chanje "WorkingDirectory=/var/www/testapp" chemen nan sèvis systemd la.

Sove dosye a (CTRL+O), Lè sa a, sòti (CTLR+X).

Apre sa, rechaje demon systemd la.

sudo systemctl daemon-reload

Apre sa, kòmanse sèvis Sails.js la epi pèmèt li kòmanse nan rdemare sistèm lan:

sudo systemctl enable sails --now

Egzanp pwodiksyon si siksè:

Created symlink /etc/systemd/system/multi-user.target.wants/sails.service → /usr/lib/systemd/system/sails.service.

Koulye a, verifye estati sèvis Sails.js la ak lòd sa a.

systemctl status sails

Egzanp pwodiksyon:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Enstale & Konfigirasyon Proxy ranvèse

Enstale Nginx

Leson patikilye a pral sèvi ak Nginx kòm prokurasyon ranvèse pou itilize Sails. Lòt prokurasyon ranvèse ka itilize. Sepandan, Nginx se pi senp ak serye nan sekirite ak pèfòmans pase pifò lòt opsyon.

Premyèman, enstale vèsyon default Nginx ki disponib sou kouran Rocky Linux 8 App.

sudo dnf install nginx

Egzanp pwodiksyon:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enstalasyon an.

Apre sa, verifye vèsyon an bati epi si enstalasyon an te reyisi.

sudo nginx -v

Egzanp pwodiksyon:

nginx version: nginx/1.14.1

Anvan ou kontinye, ou dwe kòmanse sèvis Nginx la.

sudo systemctl enable nginx --now

Egzanp pwodiksyon si siksè:

Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.

Apre sa, verifye estati a pou asire w pa gen okenn erè.

systemctl status nginx

Egzanp pwodiksyon si tout bagay ap travay kòrèkteman:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Konfigure Nginx kòm Reverse Proxy

Apre sa, kreye yon blòk sèvè (lame vityèl) pou aplikasyon Sails. Sa a ka fè ak editè tèks pi renmen ou.

Egzanp:

sudo nano /etc/nginx/conf.d/sails.conf

Koulye a, kopye epi kole sa ki annapre yo ak modifye la "egzanp.com" domèn nan pwòp ou a.

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

Sove dosye a (CTRL+O), Lè sa a, sòti (CTRL+X).

Apre sa, teste dosye konfigirasyon an travay, epi pa gen okenn erè.

sudo nginx -t

Egzanp pwodiksyon si pa gen okenn erè:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Yon fwa Nginx retounen yon estati ok pandan tès sèk la, rekòmanse sèvis la.

sudo systemctl restart nginx

reklam


Konfigirasyon Règ firewall

Pa default, pa gen okenn règ firewall yo mete nan pò estanda 80 oswa 443 pò yo lè w ap enstale Nginx. Anvan ou kontinye, ou ta dwe mete règ sa yo, sa a pral depann de ki pò ou pral itilize, men tout opsyon yo ki nan lis.

Louvri pò 80 oswa HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Louvri pò 443 oswa HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Rechaje firewall pou fè chanjman an vigè

sudo firewall-cmd --reload

Remake byen, ou ka mete HTTPS pita nan leson patikilye a si ou pa sèten.

Aksè Sails.js Entèfas Entènèt

Kounye a ke ou te enstale ak konfigirasyon sails.js ak Nginx kòm prokurasyon ranvèse, ou ka louvri aplikasyon Sails.js ou yo lè w vizite domèn ou espesifye lè w louvri navigatè entènèt ou pi renmen epi tape sa ki annapre yo.

http://salis.example.com

Si w reyisi, ou ta dwe wè paj aterisaj default Sails.js la.

Egzanp:

Ki jan yo enstale Sails.js chapant ak Nginx sou Rocky Linux 8

Felisitasyon, ou byen enstale Sails.js sou Rocky Linux 8.


reklam


Sekirize Nginx ak ann ankripte Sètifika SSL gratis

Idealman, ou ta vle kouri Nginx ou sou HTTPS lè l sèvi avèk yon sètifika SSL. Pi bon fason pou fè sa se sèvi ak Ann ankripte, yon otorite sètifika gratis, otomatik epi ouvè dirije pa la Gwoup rechèch sekirite entènèt san bi likratif (ISRG).

Premyèman, enstale EPEL depo ak la mod_ssl pake pou pi bon pakè ak sekirite mete ajou.

sudo dnf install epel-release mod_ssl -y

Apre sa, enstale a pake certbot jan sa a:

sudo dnf install python3-certbot-nginx -y

Yon fwa enstale, kouri lòd sa a pou kòmanse kreyasyon sètifika ou a:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Sa a se konfigirasyon ideyal la ki gen ladan fòs HTTPS 301 redireksyon, Strict-Transport-Security header, ak OCSP Stapling. Jis asire w ke ou ajiste imel la ak non domèn nan kondisyon ou yo.

Koulye a, URL ou a pral HTTPS://sails.example.com olye pou yo HTTP://sails.example.com.

Remake byen, si ou itilize ansyen an URL HTTP, li pral otomatikman redireksyon nan T.

Opsyonèlman, ou ka mete yon travay cron pou renouvle sètifika yo otomatikman. Certbot ofri yon script ki fè sa otomatikman, epi ou ka premye teste asire w ke tout bagay ap travay pa fè yon kouri sèk.

sudo certbot renew --dry-run

Si tout bagay ap travay, ouvri fenèt crontab ou a lè w sèvi ak lòd tèminal sa a.

sudo crontab -e

Apre sa, presize lè a lè li ta dwe renouvle otomatikman. Sa a ta dwe tcheke chak jou nan yon minimòm, epi si sètifika a bezwen renouvle, script la pa pral mete ajou sètifika a. Si ou bezwen èd pou jwenn yon bon moman pou mete, sèvi ak la crontab.guru zouti gratis.

00 00 */1 * * /usr/sbin/certbot-auto renew

Save (CTRL+O) Lè sa a, sòti (CTRL+X), epi cronjob la pral otomatikman aktive.

Kòmantè ak konklizyon

Nan leson patikilye a, ou te aprann ki jan yo enstale Sails.js Framework epi kreye yon prokurasyon ranvèse Nginx pou jwenn aksè nan aplikasyon an. An jeneral, gen yon anpil nan kad yo deyò, men Sails.js se youn ke anpil renmen itilize epi li vo gade nan.

Ban-m pran abònman
Notifye nan
0 kòmantè
Aliye komantè
Wè tout kòmantè
0
Ta renmen panse ou, tanpri fè kòmantè.x