Iestatiet Keystone.js serveri, izmantojot Nginx reverso starpniekserveri operētājsistēmā Ubuntu 16.04

Šajā apmācībā mēs iestatīsim tīmekļa serveri ar apgriezto starpniekserveri. SPS, ko izmantosim, ir Keystone.js — plaši pazīstama tīmekļa lietojumprogrammu sistēma, kuras pamatā ir Express.js. Reversais starpniekserveris, ko izmantosim, ir Nginx, kas ir bezmaksas un atvērtā koda reversais starpniekserveris, kā arī HTTP serveris. Datubāze, ko mēs izmantosim, ir MongoDB, NoSQL dokumentu datubāze. Tam būs nepieciešams domēns ar iestatītiem ierakstiem. Ja jums nav šī komplekta, parūpējieties par to un atgriezieties pie šīs apmācības.

Node instalēšana

Vispirms mēs instalēsim Node.js, kas ir Javascript tulks, kura pamatā ir Chrome V8 Javascript dzinējs.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential

Nginx instalēšana

Pēc tam mēs instalēsim Nginx, mūsu reverso starpniekserveri.

sudo apt update
sudo apt install nginx

Tas atjauninās pakotņu sarakstus un instalēs Nginx. Kad instalēšana būs pabeigta, mēs iestatīsim mūsu mezgla projektu.

Notiek mūsu Keystone projekta inicializācija

Izveidojiet mūsu mezgla projektu. Lai to izdarītu, vienkārši izveidojiet jaunu mapi.

mkdir website

Pēc tam mēs izveidosim savu package.jsonfailu. Lai to izdarītu, vienkārši palaidiet npm initsavā terminālī, aizpildiet laukus un yesapstipriniet atbildi " ". Kad esat izveidojis package.jsonfailu, mēs instalēsim šādus mezglu moduļus.

sudo npm install -g generator-keystone
sudo npm install -g yo

Kad to lejupielāde ir pabeigta, palaidiet tālāk norādītās darbības.

yo keystone

Aizpildiet obligātos laukus. Tā lūgs jums par project name, tad template engine, emailpēc vadības paneļa, un tā tālāk. Ja nezināt, ko izvēlēties, noklusējuma iestatījumi būs labi. Kad būsiet konfigurējis trapešakmens iestatījumus, mēs varam pārbaudīt, vai mūsu serveris darbojas, ierakstot, node keystonelai palaistu lietojumprogrammu. Pēc noklusējuma jūsu lietojumprogramma darbosies localhostportā 3000. Ņemiet vērā: ja jums nav instalēta MongoDB, datu bāze jums nebūs pieejama uzreiz. Kā to instalēt, varat uzzināt vēlāk šajā apmācībā.

Šeit ir Keystone.js pamata direktoriju izkārtojums:

  • /lib - Šeit jūs glabāsit savas pielāgotās bibliotēkas un citus kodus.

  • /models- Šeit tiks saglabāti lietojumprogrammas datu bāzes modeļi. KeystoneJS izmanto MongoDB kā datu bāzes nodrošinātāju.

  • /public - Šajā vietā tiks saglabāti jūsu statiskie faili (CSS, JS, attēli un tā tālāk).

  • /routes/api - Šajā vietā tiks saglabāti jūsu lietojumprogrammas API kontrolleri.

  • /routes.views - Šeit tiks saglabāti lietojumprogrammu skata kontrolleri.

  • /templates - Šajā vietā tiks glabāti visi jūsu lietojumprogrammas veidņu faili.

  • /updates - Šeit tiks saglabāti jūsu migrācijas skripti.

  • package.json - Šis ir jūsu npm konfigurācijas fails, ko mums ģenerēja ģenerators.

  • keystone.js - Mūsu galvenais sākuma fails, mēs to palaižam, kad palaižam vietni.

Mūsu datu bāzes inicializācija

Kā minēts iepriekš, mūsu datu bāze, kuru mēs izmantosim, ir MongoDB, kas ir uzticama NoSQL, uz dokumentiem orientēta datubāze. Ja jums jau ir instalēts MongoDB, varat izlaist šo sadaļu. Ja nē, tad šeit ir norādīts, kā to instalēt Ubuntu 16.04.

Importējiet mongoDB pakotnei izmantoto publisko atslēgu.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Izveidojiet pakotnes instalēšanai izmantoto saraksta failu.

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Atjauniniet pakotņu sarakstus, izmantojot apt.

sudo apt update

Visbeidzot, instalējiet MongoDB.

sudo apt install mongodb-org -y

Kad šī instalēšana ir pabeigta, palaidiet MongoDB.

sudo service mongod start

Tas sāks MongoDB procesu portā 27017.

MongoDB tiks izmantots visā lietojumprogrammā, un tas tiks izmantots, lai saglabātu informāciju, ko izmantojam saviem modeļiem, piemēram, Usermodeli. Keystone to izmanto kā savu izvēlēto datu bāzi, un pašlaik jūs nevarat izmantot citus datu bāzes piegādātājus.

PM2 uzstādīšana

Tagad ir pienācis laiks instalēt PM2 (Process Manager 2.) PM2 ir procesa pārvaldnieks Node.js lietojumprogrammām npm moduļa veidā. Tas nodrošina vienkāršu veidu, kā pārvaldīt lietojumprogrammas un palaist tās fonā. Tā kā tas ir NPM, viss, kas mums jādara, lai to instalētu, ir palaidiet tālāk norādīto.

sudo npm install pm2 -g

Tas liek npm to instalēt globāli, lai mēs to varētu izmantot jebkur mūsu sistēmā.

Lietojumprogrammas palaišana/pārvaldīšana uz PM2

Iepriekš mēs savu tīmekļa lietojumprogrammu izmantojām ar node keystone. Ar PM2 tas ir nedaudz savādāk. Tagad mēs palaižam mūsu mezgla lietotni ar tālāk norādīto.

pm2 start keystone.js

Tādējādi mūsu PM2 lietojumprogramma tiks pievienota mūsu procesu sarakstam, un tiks parādīts neliels lodziņš, lai jūs varētu redzēt, ka tā patiešām ir tiešsaistē. Ievērojiet lodziņu, kas marķēta idjūsu procesam. Turiet to cieši, jo vēlāk mēs uz to daudz atsauksimies.

Lai skatītu savas lietojumprogrammas žurnālus.

pm2 logs [id]

Piemēram, pm2 logs 0ja šī ir jūsu pirmā PM2 lietojumprogramma.

Lai jebkurā laikā apturētu tīmekļa lietojumprogrammu.

pm2 stop [id]

Lai pilnībā izdzēstu savu pieteikumu.

pm2 delete [id]

PM2 pat ir uzraudzības informācijas panelis, ja vēlaties redzēt dažus pamata statistiku par savu lietojumprogrammu, un jūs varat tai piekļūt, izmantojot šo.

pm2 monit

Tas parādīs pamatinformāciju, piemēram, RAM lietojumu, CPU lietojumu un darbības laiku.

Lieliska PM2 piedāvātā funkcija ir watching. Būtībā skatīšanās ir tad, kad PM2 automātiski nosaka izmaiņas jebkurā failā tajā pašā direktorijā, kurā atrodas sākuma fails, un tas automātiski restartēs jūsu lietojumprogrammu. Lai to iespējotu, vienkārši restartējiet lietojumprogrammu, bet nododiet tai pulksteņa karodziņu.

pm2 restart [id] --watch

Lai atspējotu skatīšanos pēc tā iespējošanas, vienkārši palaidiet to pašu komandu vēlreiz, un skatīšanās tiks atspējota.

Šajā apmācībā mēs pārtrauksim skatīšanos.

Reversā starpniekservera iestatīšana

Pārliecinieties, vai esat instalējis Nginx. Ja kāda iemesla dēļ tā nav, skatiet iepriekš norādītās darbības.

Pielāgojiet ugunsmūra iestatījumus. Ubuntu ufwir oficiālais ugunsmūris. Pēc noklusējuma savienojumi tiek bloķēti portā 80. Mums ir jāpievieno izņēmums Nginx portam 80, kurā darbosies mūsu tīmekļa lietojumprogramma.

sudo ufw allow 'Nginx HTTP'

Pārbaudiet, vai darbojas jūsu Nginx serveris.

systemctl status nginx

Ja zem Activesadaļas redzat active (running), tad viss ir iestatīts. Ja nē, varat mēģināt restartēt pakalpojumu.

systemctl restart nginx

Dzēsiet noklusējuma Nginx konfigurācijas failu.

sudo rm /etc/nginx/sites-available/default

Izveidojiet jaunu un vienkārši nosauciet to node.

sudo nano /etc/nginx/sites-available/node

Ielīmējiet tālāk norādīto failā un aizstājiet example.comar savas vietnes domēnu.

listen 80;

server_name example.com;

    location / {

        proxy_set_header   X-Forwarded-For $remote_addr;

        proxy_set_header   Host $http_host;

        proxy_pass         "http://127.0.0.1:3000";
    }
}

Ņemiet vērā, ka proxy_passapzīmē IP, kurā mūsu Keystone lietotne darbojas lokāli, kas atrodas localhostportā 3000. listen 80ir ports, uz kuru vēlamies, lai programma tiktu novirzīta, kas šajā gadījumā ir ports 80.

Pēc tam mums ir jāizveido simboliskā saite vai simboliska saite uz mapi ar nosaukumu sites-enabled. Atšķirība starp sites-enabledun sites-availableir tā, ka sites-enabledfaktiski ielādē Nginx.

sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node

Tagad jūsu konfigurācijas fails sites-availablebūs gatavs lietošanai un tiks ielādēts no sites-enabled. Lai lietotu konfigurāciju, lai tā stātos spēkā, vienkārši restartējiet Nginx.

sudo systemctl restart nginx

Visbeidzot, restartējiet PM2 lietojumprogrammu

pm2 restart [id]

Tagad pārlūkprogrammā varat pāriet uz savu domēnu, un jūs redzēsit Welcome to Keystoneekrānu ar paneli, kurā varat pieteikties.

Ja redzat to, tad esat veiksmīgi iestatījis Node.js ražošanas tīmekļa serveri. Ja nē, iespējams, kādu darbību esat veicis nepareizi, un, iespējams, vēlēsities atgriezties un rūpīgi sekot katrai darbībai.

Jūs varat uzzināt vairāk par Nginx, apmeklējot viņu vietni .

Ceru, ka jums patika šī apmācība, un es ceru, ka tā jums ir palīdzējusi iestatīt savu tīmekļa serveri, lai to ražotu savā Vultr VPS.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk