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.


Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Thelia ir atvērtā pirmkoda rīks e-biznesa vietņu izveidei un tiešsaistes satura pārvaldīšanai, kas rakstīts PHP. Thelia pirmkods i

Installing Microweber on Ubuntu 16.04

Installing Microweber on Ubuntu 16.04

Using a Different System? Microweber is an open source drag and drop CMS and online shop. Microweber source code is hosted on GitHub. This guide will show yo

Kā instalēt dotCMS operētājsistēmā Ubuntu 16.04

Kā instalēt dotCMS operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? DotCMS ir atvērtā pirmkoda, uzņēmuma līmeņa satura pārvaldības sistēma, kas rakstīta Java valodā. Tas satur gandrīz visas nepieciešamās funkcijas t

Kā instalēt Pagekit 1.0 CMS uz FreeBSD 11 FAMP VPS

Kā instalēt Pagekit 1.0 CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Pagekit 1.0 CMS ir skaista, modulāra, paplašināma un viegla, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS) ar

Kā instalēt BigTree CMS uz Fedora 26 LAMP VPS

Kā instalēt BigTree CMS uz Fedora 26 LAMP VPS

Vai izmantojat citu sistēmu? BigTree CMS 4.2 ir ātra un viegla, bezmaksas un atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS) ar plašu

Pagekit CMS instalēšana Ubuntu 16.04 LTS

Pagekit CMS instalēšana Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Pagekit ir atvērtā koda SPS, kas rakstīta PHP. Pagekit pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt

Kā instalēt PyroCMS operētājsistēmā Ubuntu 16.04

Kā instalēt PyroCMS operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? PyroCMS ir atvērtā pirmkoda CMS, kas rakstīts PHP. PyroCMS pirmkods tiek mitināts vietnē GitHub. Šajā rokasgrāmatā labi izstaigājiet visu

Kā instalēt Subrion 4.1 CMS uz FreeBSD 11 FAMP VPS

Kā instalēt Subrion 4.1 CMS uz FreeBSD 11 FAMP VPS

Vai izmantojat citu sistēmu? Subrion 4.1 CMS ir jaudīga un elastīga atvērtā pirmkoda satura pārvaldības sistēma (CMS), kas nodrošina intuitīvu un skaidru saturu.

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Backdrop CMS 1.8.0 ir vienkārša un elastīga, mobilajām ierīcēm draudzīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (SPS), kas ļauj mums

Kā instalēt Roadiz CMS operētājsistēmā Debian 9

Kā instalēt Roadiz CMS operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Ievads Roadiz ir moderna CMS, kas izstrādāta, lai apstrādātu daudzu veidu pakalpojumus. Pamatojoties uz Symfony komponentiem un doktrīnu ORM, t.i

Microweber instalēšana operētājsistēmā Debian 9

Microweber instalēšana operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs

Kā instalēt Grav CMS vietnē Fedora 28

Kā instalēt Grav CMS vietnē Fedora 28

Vai izmantojat citu sistēmu? Grav ir atvērtā koda vienotu failu CMS, kas rakstīts PHP. Grav pirmkods ir publiski mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā t

Kā instalēt Grav CMS operētājsistēmā Debian 9

Kā instalēt Grav CMS operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Grav ir atvērtā koda vienotu failu CMS, kas rakstīts PHP. Grav pirmkods ir publiski mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā t

Kā instalēt Automad CMS operētājsistēmā CentOS 7

Kā instalēt Automad CMS operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Automad ir uz atvērtā koda failiem balstīta satura pārvaldības sistēma (CMS) un veidņu dzinējs, kas rakstīts PHP. Automad pirmkods i

Kā instalēt Raneto Ubuntu 17.10

Kā instalēt Raneto Ubuntu 17.10

Raneto ir bezmaksas atvērtā koda zināšanu bāze, kas izveidota, izmantojot Node.js un kuru ir viegli iestatīt un lietot, kā arī viegli administrēt. Kategorijas un lapas ar

Kā instalēt Thelia 2.3 Ubuntu 16.04

Kā instalēt Thelia 2.3 Ubuntu 16.04

Vai izmantojat citu sistēmu? Thelia ir atvērtā pirmkoda rīks e-biznesa vietņu izveidei un tiešsaistes satura pārvaldīšanai, kas rakstīts PHP. Thelia pirmkods i

Kā instalēt oktobra 1.0 CMS uz Debian 9 LAMP VPS

Kā instalēt oktobra 1.0 CMS uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? 1. oktobra SPS ir vienkārša un uzticama, bezmaksas un atvērtā koda satura pārvaldības sistēma (SPS), kas balstīta uz Laravel ietvaru.

Kā instalēt ImpressPages CMS 5.0 Ubuntu 16.04 LAMP VPS

Kā instalēt ImpressPages CMS 5.0 Ubuntu 16.04 LAMP VPS

Vai izmantojat citu sistēmu? ImpressPages CMS 5.0 ir vienkārša un efektīva, bezmaksas un atvērtā koda, lietotājam draudzīga, uz MVC balstīta satura pārvaldības sistēma (CMS)

Kā instalēt CMS Made Simple 2.2 uz Debian 9 LAMP VPS

Kā instalēt CMS Made Simple 2.2 uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? CMS Made Simple 2.2 ir elastīga un paplašināma, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS), kas ir inteliģenti izstrādāta, lai

Kā instalēt Couch CMS 2.0 uz Debian 9 LAMP VPS

Kā instalēt Couch CMS 2.0 uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Couch CMS ir vienkārša un elastīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS), kas ļauj tīmekļa dizaineriem izstrādāt

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.

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.

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.

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