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.


Kuidas installida Thelia 2.3 Debian 9-le

Kuidas installida Thelia 2.3 Debian 9-le

Kas kasutate teistsugust süsteemi? Thelia on avatud lähtekoodiga tööriist e-äri veebisaitide loomiseks ja PHP-s kirjutatud veebisisu haldamiseks. Thelia lähtekood i

Kuidas installida Microweber operatsioonisüsteemi CentOS 7

Kuidas installida Microweber operatsioonisüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Microweber on avatud lähtekoodiga pukseeritav CMS-i ja veebipood. Microweberi lähtekoodi majutatakse GitHubis. See juhend näitab teile

Microweberi installimine Ubuntu 16.04-sse

Microweberi installimine Ubuntu 16.04-sse

Kas kasutate teistsugust süsteemi? Microweber on avatud lähtekoodiga pukseeritav CMS-i ja veebipood. Microweberi lähtekoodi majutatakse GitHubis. See juhend näitab teile

DotCMS-i installimine Ubuntu 16.04-sse

DotCMS-i installimine Ubuntu 16.04-sse

Kas kasutate teistsugust süsteemi? DotCMS on Java keeles kirjutatud avatud lähtekoodiga ettevõttetasemel sisuhaldussüsteem. See sisaldab peaaegu kõiki vajalikke funktsioone t

Kuidas installida Pagekit 1.0 CMS FreeBSD 11 FAMP VPS-i

Kuidas installida Pagekit 1.0 CMS FreeBSD 11 FAMP VPS-i

Kas kasutate teistsugust süsteemi? Pagekit 1.0 CMS on ilus, modulaarne, laiendatav ja kerge, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS).

BigTree CMS-i installimine Fedora 26 LAMP VPS-ile

BigTree CMS-i installimine Fedora 26 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? BigTree CMS 4.2 on kiire ja kerge, tasuta ja avatud lähtekoodiga ettevõttetasemel sisuhaldussüsteem (CMS), millel on ulatuslik

Pagekit CMS-i installimine Ubuntu 16.04 LTS-i

Pagekit CMS-i installimine Ubuntu 16.04 LTS-i

Kas kasutate teistsugust süsteemi? Pagekit on avatud lähtekoodiga CMS, mis on kirjutatud PHP-s. Pagekiti lähtekoodi hostitakse GitHubis. See juhend näitab teile, kuidas installida

Kuidas installida PyroCMS-i Ubuntu 16.04-sse

Kuidas installida PyroCMS-i Ubuntu 16.04-sse

Kas kasutate teistsugust süsteemi? PyroCMS on avatud lähtekoodiga CMS, mis on kirjutatud PHP-s. PyroCMS-i lähtekoodi hostitakse GitHubis. Selles juhendis kõndige hästi läbi kogu

Kuidas installida Subrion 4.1 CMS FreeBSD 11 FAMP VPS-ile

Kuidas installida Subrion 4.1 CMS FreeBSD 11 FAMP VPS-ile

Kas kasutate teistsugust süsteemi? Subrion 4.1 CMS on võimas ja paindlik avatud lähtekoodiga sisuhaldussüsteem (CMS), mis pakub intuitiivset ja selget sisu

Backdrop CMS 1.8.0 installimine Debian 9 LAMP VPS-ile

Backdrop CMS 1.8.0 installimine Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? Backdrop CMS 1.8.0 on lihtne ja paindlik, mobiilisõbralik, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis võimaldab meil

Roadiz CMS-i installimine Debian 9-sse

Roadiz CMS-i installimine Debian 9-sse

Kas kasutate teistsugust süsteemi? Sissejuhatus Roadiz on kaasaegne CMS, mis on loodud erinevat tüüpi teenuste haldamiseks. Tuginedes Symfony komponentidele ja Doctrine ORM-ile, st

Microweberi installimine Debian 9-le

Microweberi installimine Debian 9-le

Kas kasutate teistsugust süsteemi? Microweber on avatud lähtekoodiga pukseeritav CMS-i ja veebipood. Microweberi lähtekoodi majutatakse GitHubis. See juhend näitab teile

Kuidas installida Grav CMS-i Fedora 28-sse

Kuidas installida Grav CMS-i Fedora 28-sse

Kas kasutate teistsugust süsteemi? Grav on avatud lähtekoodiga lamefailide CMS, mis on kirjutatud PHP-s. Gravi lähtekoodi majutatakse avalikult GitHubis. See juhend näitab teile, kuidas t

Grav CMS-i installimine Debian 9-sse

Grav CMS-i installimine Debian 9-sse

Kas kasutate teistsugust süsteemi? Grav on avatud lähtekoodiga lamefailide CMS, mis on kirjutatud PHP-s. Gravi lähtekoodi majutatakse avalikult GitHubis. See juhend näitab teile, kuidas t

Kuidas installida Automad CMS-i CentOS 7-sse

Kuidas installida Automad CMS-i CentOS 7-sse

Kas kasutate teistsugust süsteemi? Automad on PHP-s kirjutatud avatud lähtekoodiga failipõhine sisuhaldussüsteem (CMS) ja mallimootor. Automad lähtekood i

Raneto installimine Ubuntu 17.10-sse

Raneto installimine Ubuntu 17.10-sse

Raneto on tasuta ja avatud lähtekoodiga teadmistebaas, mis on üles ehitatud Node.js-ile, mida on lihtne seadistada ja kasutada ning mida on lihtne hallata. Kategooriad ja leheküljed ar

Kuidas installida Thelia 2.3 Ubuntu 16.04

Kuidas installida Thelia 2.3 Ubuntu 16.04

Kas kasutate teistsugust süsteemi? Thelia on avatud lähtekoodiga tööriist e-äri veebisaitide loomiseks ja PHP-s kirjutatud veebisisu haldamiseks. Thelia lähtekood i

Kuidas installida oktoobri 1.0 CMS-i Debian 9 LAMP VPS-ile

Kuidas installida oktoobri 1.0 CMS-i Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? October 1.0 CMS on lihtne ja usaldusväärne, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis on üles ehitatud Laraveli raamistikule

ImpressPages CMS 5.0 installimine Ubuntu 16.04 LAMP VPS-i

ImpressPages CMS 5.0 installimine Ubuntu 16.04 LAMP VPS-i

Kas kasutate teistsugust süsteemi? ImpressPages CMS 5.0 on lihtne ja tõhus, tasuta ja avatud lähtekoodiga kasutajasõbralik MVC-põhine sisuhaldussüsteem (CMS)

Kuidas installida CMS Made Simple 2.2 Debian 9 LAMP VPS-ile

Kuidas installida CMS Made Simple 2.2 Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? CMS Made Simple 2.2 on paindlik ja laiendatav tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis on intelligentselt loodud

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.

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.

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.

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