Seadistage Keystone.js server, kasutades Nginxi pöördpuhverserverit Ubuntu 16.04-s

Selles õpetuses seadistame pöördpuhverserveriga veebiserveri. CMS, mida me kasutame, on Keystone.js, tuntud veebirakenduste raamistik, mis põhineb Express.js-il. Pöördpuhverserver, mida kasutame, on Nginx, mis on tasuta avatud lähtekoodiga pöördpuhverserver, aga ka HTTP-server. Andmebaas, mida me kasutame, on MongoDB, NoSQL-i dokumentide andmebaas. See eeldab, et teil on seadistatud kirjetega domeen. Kui teil seda komplekti pole, siis võtke see korda ning tulge tagasi selle õpetuse juurde.

Node'i installimine

Esiteks installime Node.js'i, mis on Chrome V8 Javascripti mootoril põhinev Javascripti tõlk.

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

Nginxi installimine

Järgmisena installime Nginxi, meie pöördpuhverserveri.

sudo apt update
sudo apt install nginx

See värskendab pakettide loendeid ja installib Nginxi. Kui installimine on tehtud, seadistame oma sõlmeprojekti.

Meie Keystone'i projekti käivitamine

Looge meie sõlmeprojekt. Selleks looge lihtsalt uus kaust.

mkdir website

Seejärel loome oma package.jsonfaili. Selleks käivitage lihtsalt npm initoma terminalis, täitke väljad ja vastake yeskinnitamiseks " ". Kui olete package.jsonfaili loonud , installime järgmised sõlmemoodulid.

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

Kui need on alla laaditud, käivitage järgmine.

yo keystone

Täitke nõutud väljad. See küsib teilt project name, template engine, emailjuhtpaneeli ja nii edasi. Kui te ei tea, mida valida, on vaikeseaded korras. Kui olete oma võtmekivi seadistuse konfigureerinud, saame testida, kas meie server töötab, sisestades node keystonerakenduse käivitamiseks tippi. Vaikimisi töötab teie rakendus localhostpordis 3000. Pange tähele, et kui teil pole MongoDB-d installitud, pole andmebaas teie jaoks kohe saadaval. Selle installimise kohta saate teada hiljem õpetusest.

Siin on Keystone.js'i kataloogi põhipaigutus:

  • /lib - Siin salvestate oma kohandatud teegid ja muu koodi.

  • /models- Siin salvestate oma rakenduse andmebaasimudelid. KeystoneJS kasutab andmebaasi pakkujana MongoDB-d.

  • /public - See on koht, kus teie staatilised failid (CSS, JS, pildid ja nii edasi) salvestatakse.

  • /routes/api - See on koht, kus teie rakenduse API-kontrollerid salvestatakse.

  • /routes.views - Siin salvestatakse rakenduste vaate kontrollerid.

  • /templates - Siin salvestatakse kõik teie rakenduse mallifailid.

  • /updates - See on koht, kus teie migratsiooniskriptid salvestatakse.

  • package.json - See on teie npm konfiguratsioonifail, mille generaator meie jaoks genereeris.

  • keystone.js - Meie peamine algusfail, käivitame selle veebisaidi käivitamisel.

Meie andmebaasi lähtestamine

Nagu varem mainitud, on meie andmebaas, mida me kasutame, MongoDB, mis on usaldusväärne NoSQL-i dokumendile orienteeritud andmebaas. Kui teil on juba MongoDB installitud, võite selle jaotise vahele jätta. Kui ei, siis siin on, kuidas see Ubuntu 16.04-sse installida.

Importige mongoDB paketi jaoks kasutatud avalik võti.

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

Looge paketi installimiseks kasutatud loendifail.

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

Värskendage oma pakettide loendeid kasutades apt.

sudo apt update

Lõpuks installige MongoDB.

sudo apt install mongodb-org -y

Kui installimine on lõppenud, käivitage MongoDB.

sudo service mongod start

See käivitab pordis MongoDB protsessi 27017.

MongoDB-d kasutatakse kogu rakenduses ja seda kasutatakse teabe salvestamiseks, mida kasutame oma mudelite jaoks, näiteks Usermudeli jaoks. Keystone kasutab seda oma valitud andmebaasina ja praegu ei saa te kasutada teisi andmebaasi tarnijaid.

PM2 paigaldamine

Nüüd on aeg installida PM2 (Process Manager 2.) PM2 on Node.js rakenduste protsessihaldur npm mooduli kujul. See pakub lihtsat viisi rakenduste haldamiseks ja nende taustal käitamiseks. Kuna see on NPM-is, peame selle installimiseks tegema ainult järgmist.

sudo npm install pm2 -g

See käsib npm-il selle globaalselt installida, et saaksime seda kasutada kõikjal oma süsteemis.

Rakenduse käitamine/haldamine PM2-s

Varem käitasime oma veebirakendust node keystone. PM2-ga on see natuke erinev. Nüüd käivitame oma sõlmerakenduse järgmisega.

pm2 start keystone.js

See lisab meie PM2 rakenduse meie protsesside loendisse ja kuvatakse väike kast, et saaksite näha, et see on tõesti võrgus. Pange tähele idoma protsessi jaoks märgistatud kasti . Hoidke see lähedal, sest me teeme sellele hiljem palju viiteid.

Rakenduse logide vaatamiseks.

pm2 logs [id]

Näiteks pm2 logs 0kui see on teie esimene PM2 rakendus.

Veebirakenduse peatamiseks igal ajal.

pm2 stop [id]

Rakenduse täielikuks kustutamiseks.

pm2 delete [id]

PM2-l on isegi jälgimise armatuurlaud, kui soovite näha oma rakenduse põhistatistikat, ja pääsete sellele juurde.

pm2 monit

See näitab mõnda põhiteavet, nagu RAM-i kasutus, protsessori kasutus ja tööaeg.

PM2 suurepärane funktsioon on watching. Sisuliselt on vaatamine see, kui PM2 tuvastab automaatselt muudatused mis tahes failis, mis on teie algusfailiga samas kataloogis, ja taaskäivitab teie rakenduse automaatselt. Selle lubamiseks taaskäivitage rakendus, kuid edastage sellele kella lipp.

pm2 restart [id] --watch

Vaatamise keelamiseks pärast selle lubamist käivitage lihtsalt sama käsk uuesti ja vaatamine keelatakse.

Selles õpetuses jätame vaatamise pooleli.

Pöördpuhverserveri seadistamine

Veenduge, et Nginx oleks installitud. Kui see mingil põhjusel nii ei ole, vaadake ülaltoodud samme.

Reguleerige tulemüüri sätteid. Ubuntu puhul ufwon see ametlik tulemüür. Vaikimisi on ühendused pordis blokeeritud 80. Peame lisama erandi Nginxi porti jaoks 80, millel meie veebirakendus töötab.

sudo ufw allow 'Nginx HTTP'

Veenduge, et teie Nginxi server töötab.

systemctl status nginx

Vastavalt Activelõik, kui sa näed active (running), siis on kõik seatud. Kui ei, võite proovida teenuse taaskäivitada.

systemctl restart nginx

Kustutage Nginxi vaikekonfiguratsioonifail.

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

Looge uus ja helistage sellele lihtsalt node.

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

Kleepige järgmine tekst faili ja asendage example.comsee oma veebisaidi domeeniga.

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";
    }
}

Pange tähele, et proxy_passtähistab IP-d, millel meie Keystone'i rakendus töötab kohapeal, mis on localhostpordis 3000. listen 80on port, kuhu tahame, et rakendus suunataks, mis antud juhul on port 80.

Seejärel peame looma sümboolse lingi või sümboolse lingi kausta nimega sites-enabled. Erinevus sites-enabledja vahel sites-availableon see, et sites-enabledtegelikult laadib Nginx.

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

Nüüd on teie konfiguratsioonifail asukohas sites-availablekasutamiseks valmis ja see laaditakse aadressilt sites-enabled. Konfiguratsiooni rakendamiseks selle jõustumiseks taaskäivitage lihtsalt Nginx.

sudo systemctl restart nginx

Lõpuks taaskäivitage oma PM2 rakendus

pm2 restart [id]

Nüüd saate brauseris oma domeenile navigeerida ja näete Welcome to Keystoneekraani, kus on sisselogimispaneel.

Kui näete seda, olete Node.js tootmisveebiserveri edukalt seadistanud. Kui ei, siis võib-olla tegite mõne sammu valesti ja soovite võib-olla tagasi minna ja iga sammu hoolikalt järgida.

Nginxi kohta saate lisateavet nende veebisaidilt .

Loodan, et teile meeldis see õpetus ja loodan, et see on aidanud teil seadistada oma veebiserverit Vultr VPS-is tootmiseks.

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit