Sails.js-ը Javascript-ի հզոր շրջանակ է, որը հեշտացնում է ձեռնարկության մակարդակի Node.js հավելվածների ստեղծումը: Այն հիշեցնում է Ruby on Rails-ի նման շրջանակների MVC ճարտարապետությունը, բայց բարելավված աջակցությամբ ավելի տվյալների վրա հիմնված վեբ մշակման ժամանակակից ոճին: Բացի այդ, Sails.js-ը համատեղելի է առջևի տեխնոլոգիաների լայն շրջանակի հետ, ներառյալ Angular, React, iOS, Android և Windows Phone: Սա այն դարձնում է իդեալական բարդ վեբ հավելվածներ մշակելու համար, որոնք պետք է աշխատեն բազմաթիվ հարթակներում: Իր հզոր հատկանիշներով և հեշտ օգտագործման API-ով Sails.js-ը կատարյալ գործիք է բարձրորակ Node.js հավելվածներ ստեղծելու համար:
Հետևյալ ձեռնարկում դուք կսովորեք, թե ինչպես տեղադրել Sails.js-ը Rocky Linux 9-ում և մուտք գործել վեբ վրա հիմնված ինտերֆեյս՝ տեղադրելով և կարգավորելով Nginx հակադարձ վստահված անձի կարգավորումը:.
Բառը
Տեղադրեք անհրաժեշտ փաթեթները
Առաջին խնդիրն է՝ ստուգել կամ տեղադրել հետևյալ փաթեթները՝ գործարկելով հետևյալ հրամանը.
sudo dnf install curl gcc-c++ make -y
Կախվածությունները տեղադրվելուց հետո դուք նույնպես պետք է տեղադրեք Node.js-ը:
Ձեռնարկը կտեղադրի NPM-ի վերջին կայուն տարբերակը, բայց դուք կարող եք փոխել այն ցանկացած այլընտրանքային տարբերակի, որը դեռ աջակցվում է:
Նախ, ներմուծեք Node.js պահոցը՝ օգտագործելով հետևյալ տերմինալի հրամանը։
curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -
Ընթացիկ տարբերակի մասին լրացուցիչ տեղեկություններ կարելի է գտնել այցելելով NodeSource.
Հաջորդը, տեղադրեք Node.js-ը:
sudo dnf install nodejs -y
Տեղադրեք Sails.js-ը
Տեղադրման հաջորդ մասը կօգտագործի NPM-ը՝ Sails.js-ը տեղադրելու համար: Դա անելու համար օգտագործեք հետևյալ հրամանը.
sudo npm -g install sails
Վերջապես, համոզվեք, որ ձեր NPM-ը արդիական է՝ օգտագործելով հետևյալ հրամանը. Սա կարևոր է. մի շրջանցեք.
sudo npm install npm@latest -g
Այժմ, երբ Sails.js-ը տեղադրված է, հաջորդ քայլը նոր նախագիծ ստեղծելն է, որը կարող եք անվանել այն, ինչ ցանկանում եք, բայց այն կկոչվի «testapp» ձեռնարկի համար։
Նախ, ստեղծեք գրացուցակը, որը կարող է տեղակայվել ցանկացած վայրում: Պարզապես նշեք ամբողջական տեղադրությունը հետագայում՝ systemd ծառայության համար: Ձեռնարկը կօգտագործի www գրացուցակը:
sudo mkdir -p /var/www/ && cd /var/www/
Ստեղծել «testapp» օգտագործելով հետևյալ հրամանը:
sudo sails new testapp
Հուշում կպահանջվի ընտրել ձևանմուշ ձեր Sails հավելվածի համար:
Example:
մուտքագրել 2 եւ սեղմեք այն ՄՈՒՏՔԻ ԲԱՆԱԼԻ շարունակելու և ավարտելու համար «testapp» ստեղծում:
Example:
Հաջորդը, նավարկեք և գործարկեք «testapp» ստուգելու և ստուգելու համար:
cd testapp && sudo sails lift
Ելքի օրինակ.
Դուրս գալու համար օգտագործեք (CTRL+C) հրաման.
Ստեղծեք Systemd ծառայության ֆայլ Sails.js-ի համար
Sails.js-ի համար systemd ծառայություն ունենալու և կառավարելու համար դուք պետք է ստեղծեք systemd ծառայության ֆայլ:
Ստեղծեք ծառայության ֆայլը՝ օգտագործելով հետևյալ հրամանը.
sudo nano /lib/systemd/system/sails.service
Հաջորդը, պատճենեք և տեղադրեք հետևյալը.
[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
Example:
Նկատի ունեցեք, եթե Sail.js գրացուցակի տեղադրությունը տեղադրեք այլ վայրում, փոխեք «WorkingDirectory=/var/www/testapp» ուղին systemd ծառայության մեջ:
Պահեք ֆայլը (CTRL + O), ապա ելք (CTLR+X).
Հաջորդը, վերաբեռնեք systemd daemon-ը:
sudo systemctl daemon-reload
Հաջորդը, գործարկեք Sails.js ծառայությունը և միացրեք այն, որ այն սկսվի համակարգի վերաբեռնումից.
sudo systemctl enable sails --now
Այժմ ստուգեք Sails.js ծառայության կարգավիճակը հետևյալ հրամանով.
systemctl status sails
Ելքի օրինակ.
Տեղադրեք և կարգավորեք Reverse Proxy-ը
Տեղադրեք Nginx- ը
Ձեռնարկը կօգտագործի Nginx-ը որպես Sails-ի օգտագործման հակադարձ վստահված անձ: Կարող են օգտագործվել այլ հակադարձ վստահվածներ: Այնուամենայնիվ, Nginx-ը ավելի պարզ և հուսալի է անվտանգության և կատարողականության մեջ, քան այլ տարբերակներից շատերը:
Նախ, տեղադրեք լռելյայն Nginx տարբերակը, որը հասանելի է Rocky Linux 9-ում:
sudo dnf install nginx -y
Հաջորդը, ստուգեք տարբերակի կառուցումը և արդյոք տեղադրումը հաջող էր:
nginx -v
Նախքան շարունակելը, դուք պետք է գործարկեք Nginx ծառայությունը:
sudo systemctl enable nginx --now
Հաջորդը, ստուգեք կարգավիճակը՝ համոզվելու համար, որ սխալներ չկան:
systemctl status nginx
Ելքի օրինակ, եթե ամեն ինչ ճիշտ է աշխատում.
Կարգավորեք Nginx-ը որպես հակադարձ վստահված անձ
Հաջորդը, ստեղծեք սերվերի բլոկ (վիրտուալ հյուրընկալող) Sails հավելվածի համար: Դա կարելի է անել ձեր սիրած տեքստային խմբագրիչով:
Example:
sudo nano /etc/nginx/conf.d/sails.conf
Այժմ պատճենեք և տեղադրեք հետևյալը` փոփոխելով «example.com» տիրույթը ձեր սեփականին:
server {
listen 80;
server_name sails.example.com;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Պահեք ֆայլը (CTRL + O), ապա ելք (CTRL + X):
Հաջորդը, ստուգեք, որ կազմաձևման ֆայլը աշխատում է և սխալներ չկան:
sudo nginx -t
Ելքի օրինակ, եթե սխալներ չկան.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Վերագործարկեք ծառայությունը, երբ չոր փորձարկման ժամանակ Nginx-ը վերադարձնի «OK» կարգավիճակը:
sudo systemctl restart nginx
Կարգավորեք FirewallD կանոնները
Nginx-ը տեղադրելիս Firewall-ի կանոնները սահմանված չեն ստանդարտ 80 կամ 443 նավահանգիստների համար: Շարունակելուց առաջ դուք պետք է սահմանեք հետևյալ կանոնները, դա կախված կլինի նրանից, թե ինչ նավահանգիստներ եք օգտագործելու, բայց բոլոր տարբերակները նշված են:
Բացեք 80 պորտը կամ HTTP.
sudo firewall-cmd --permanent --zone=public --add-service=http
Բացեք պորտը 443 կամ HTTPS.
sudo firewall-cmd --permanent --zone=public --add-service=https
Վերբեռնեք firewall-ը՝ փոփոխություններն ուժի մեջ մտցնելու համար
sudo firewall-cmd --reload
Նկատի ունեցեք, որ եթե վստահ չեք, կարող եք կարգավորել HTTPS-ը ավելի ուշ ձեռնարկի մեջ:
Մուտք գործեք Sails.js վեբ ինտերֆեյս
Այժմ, երբ դուք հաջողությամբ տեղադրեցիք և կազմաձևեցիք sails.js-ը և Nginx-ը որպես հակադարձ պրոքսի, կարող եք բացել ձեր Sails.js հավելվածները՝ այցելելով ձեր նշած տիրույթը՝ բացելով ձեր սիրած ինտերնետային դիտարկիչը և մուտքագրելով հետևյալը:
http://salis.example.com
Եթե հաջողվի, դուք պետք է տեսնեք Sails.js-ի լռելյայն վայրէջքի էջը:
Example:
Շնորհավորում ենք, դուք հաջողությամբ տեղադրեցիք Sails.js-ը:
Ապահովեք Nginx-ը Let's Encrypt SSL անվճար վկայականով
Իդեալում, դուք կցանկանայիք գործարկել ձեր Apache վեբ սերվերը HTTPS-ով, օգտագործելով SSL վկայագիր: Դա անելու լավագույն միջոցը Let's Encrypt-ն է, որը անվճար, ավտոմատացված և բաց վկայականի մարմին է, որը ղեկավարվում է շահույթ չհետապնդող Ինտերնետ անվտանգության հետազոտական խմբի (ISRG) կողմից:
Rocky Linux 9-ը մի քանի բաշխումներից մեկն է առանց Certbot-ի, որը հասանելի է DNF-ով: Այնուամենայնիվ, դուք կարող եք տեղադրել snap՝ սա կառավարելու համար, մինչև EPEL/EPEL Next 9-ը չհասնի:
Նախ, տեղադրեք snapd-ը:
sudo dnf install snapd -y
Տեղադրվելուց հետո միացրեք այն անմիջապես և համակարգի գործարկման ժամանակ՝ վերահսկելու թարմացումները:
sudo systemctl enable snapd --now
Հաջորդը, տեղադրեք snap միջուկը, որպեսզի ծածկի snap փաթեթների համար անհրաժեշտ բոլոր կախվածությունները:
sudo snap install core
Ստեղծեք symlink snapd թղթապանակի համար:
sudo ln -s /var/lib/snapd/snap /snap
Տեղադրեք Certbot snap փաթեթը:
sudo snap install --classic certbot
Վերջապես, ստեղծեք ևս մեկ սիմվոլկ certbot-ի համար:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Տեղադրվելուց հետո գործարկեք հետևյալ հրամանը՝ ձեր վկայագրի ստեղծումը սկսելու համար.
sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
Որպես այլընտրանք, օգտագործեք հետևյալ հրամանը և հետևեք հրահանգներին, եթե ավելի մատչելի է:
sudo certbot certonly --nginx
Այս իդեալական կարգավորումը ներառում է ուժային HTTPS 301 վերահղումներ, Strict-Transport-Security վերնագիր և OCSP Stapling: Պարզապես համոզվեք, որ հարմարեցրեք էլ. փոստը և դոմենի անունը ձեր պահանջներին:
Այժմ ձեր URL-ը կլինի HTTPS://sails.example.com փոխարեն HTTP://sails.example.com.
Ընտրովի, դուք կարող եք սահմանել cron աշխատանք՝ վկայականներն ավտոմատ կերպով թարմացնելու համար: Certbot-ն առաջարկում է սկրիպտ, որը դա անում է ավտոմատ կերպով, և դուք կարող եք նախ փորձարկել՝ համոզվելու համար, որ ամեն ինչ աշխատում է՝ կատարելով չոր գործարկում:
sudo certbot renew --dry-run
Հաջորդը, օգտագործեք systemctl-ժմչփեր հաստատելու համար, որ ներկայումս աշխատում է cron աշխատանք՝ ստուգելու և թարմացնելու ձեր վկայականը:
systemctl list-timers
Կա ժամաչափ, որը ստուգելու և թարմացնելու է վկայականը մինչև դրա ժամկետի ավարտը, այնպես որ նորից անհանգստանալու կարիք չկա:
Մեկնաբանություններ և եզրակացություն
Եթե դուք փնտրում եք հզոր և հեշտ օգտագործվող Javascript-ի շրջանակ, որը ձեզ հնարավորություն կտա արագ ստեղծել հարմարեցված վեբ հավելվածներ, ապա Sails.js-ը հիանալի տարբերակ է դիտարկելու համար: Իր MVC ճարտարապետությամբ և այլ հայտնի առջևի շրջանակների հետ համատեղելիությամբ, այն անկասկած կդարձնի ձեր զարգացման գործընթացը ավելի հեշտ և արագ: