Settu upp Keystone.js netþjón með því að nota Nginx Reverse Proxy á Ubuntu 16.04

Í þessari kennslu munum við setja upp vefþjón með öfugum proxy. CMS sem við munum nota er Keystone.js, vel þekkt vefforritsramma byggt á Express.js. Andstæða umboðið sem við munum nota er Nginx, sem er ókeypis og opinn gagnvirkur umboð, auk HTTP netþjóns. Gagnagrunnurinn sem við munum nota er MongoDB, NoSQL skjalagagnagrunnur. Þetta mun krefjast þess að þú sért með lén með uppsettum færslum. Ef þú ert ekki með þetta sett, farðu þá á undan og láttu sjá um það og farðu aftur í þessa kennslu.

Setur upp Node

Fyrst munum við setja upp Node.js, sem er Javascript túlkur byggður á Chrome V8 Javascript vélinni.

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

Að setja upp Nginx

Næst munum við setja upp Nginx, öfuga proxy okkar.

sudo apt update
sudo apt install nginx

Þetta mun uppfæra pakkalistana og setja upp Nginx. Þegar uppsetningunni er lokið munum við setja upp hnútaverkefnið okkar.

Keystone verkefnið okkar er frumstillt

Búðu til hnútaverkefnið okkar. Til að gera það skaltu einfaldlega búa til nýja möppu.

mkdir website

Síðan munum við búa til package.jsonskrána okkar . Til að gera það skaltu einfaldlega keyra npm inití flugstöðinni þinni, fylla út reitina og svara " yes" til að staðfesta. Þegar þú hefur búið til package.jsonskrána munum við setja upp eftirfarandi hnútaeiningar.

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

Þegar þeim er lokið að hlaða niður skaltu keyra eftirfarandi.

yo keystone

Fylltu út nauðsynlega reiti. Það mun biðja þig um project name, template engine, emailfyrir stjórnborðið og svo framvegis. Ef þú veist ekki hvað á að velja, þá eru sjálfgefnar stillingar í lagi. Eftir að þú hefur stillt keystone uppsetninguna þína getum við prófað hvort þjónninn okkar sé í gangi með því að slá inn node keystonetil að ræsa forritið þitt. Sjálfgefið er að forritið þitt mun keyra á localhost, á höfn 3000. Athugaðu að ef þú ert ekki með MongoDB uppsett verður gagnagrunnur ekki í boði fyrir þig strax. Þú getur lært hvernig á að setja það upp síðar í kennslunni.

Hér er grunnskráaruppsetningin fyrir Keystone.js:

  • /lib - Þetta er þar sem þú munt geyma sérsniðnu bókasöfnin þín og annan kóða.

  • /models- Þetta er þar sem þú geymir gagnagrunnslíkön forritsins þíns. KeystoneJS notar MongoDB sem gagnagrunnsveitu.

  • /public - Þetta er þar sem kyrrstöðuskrárnar þínar (CSS, JS, myndir og svo framvegis) verða geymdar.

  • /routes/api - Þetta er þar sem API stýringar forritsins þíns verða geymdar.

  • /routes.views - Stýringar forritaskoðunar verða geymdar hér.

  • /templates - Þetta er þar sem allar sniðmátsskrár forritsins þíns verða geymdar.

  • /updates - Þetta er þar sem flutningsforskriftirnar þínar verða geymdar.

  • package.json - Þetta er npm stillingarskráin þín sem rafallinn bjó til fyrir okkur.

  • keystone.js - Aðal upphafsskráin okkar, við keyrum þetta þegar við ræsum vefsíðuna.

Frumstillir gagnagrunninn okkar

Eins og fyrr segir er gagnagrunnurinn okkar sem við munum nota MongoDB, sem er áreiðanlegur NoSQL, skjalamiðaður gagnagrunnur. Ef þú ert nú þegar með MongoDB uppsett geturðu sleppt þessum hluta. Ef ekki, þá er hér hvernig á að setja það upp á Ubuntu 16.04.

Flyttu inn almenningslykilinn sem notaður er fyrir mongoDB pakkann.

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

Búðu til listaskrána sem notuð er til að setja upp pakkann.

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

Uppfærðu pakkalistana þína með því að nota apt.

sudo apt update

Að lokum skaltu setja upp MongoDB.

sudo apt install mongodb-org -y

Þegar þessari uppsetningu er lokið skaltu ræsa MongoDB.

sudo service mongod start

Þetta mun hefja MongoDB ferlið á höfn 27017.

MongoDB verður notað í gegnum forritið og það verður notað til að geyma upplýsingar sem við notum fyrir líkön okkar, til dæmis Userlíkan. Keystone notar það sem gagnagrunn að eigin vali og á þessum tíma geturðu ekki notað aðra gagnagrunnsframleiðendur.

Er að setja upp PM2

Nú er kominn tími til að setja upp PM2 (Process Manager 2.) PM2 er vinnslustjóri fyrir Node.js forrit, í formi npm mát. Það veitir þér auðvelda leið til að stjórna forritunum þínum og keyra þau í bakgrunni. Vegna þess að það er í NPM, allt sem við þurfum að gera til að setja það upp er að keyra eftirfarandi.

sudo npm install pm2 -g

Þetta segir npm að setja það upp á heimsvísu, svo við getum notað það hvar sem er í kerfinu okkar.

Keyra/stjórna forriti á PM2

Áður fyrr keyrðum við vefforritið okkar með node keystone. Með PM2 er það aðeins öðruvísi. Við keyrum nú hnútaappið okkar með eftirfarandi.

pm2 start keystone.js

Þetta mun bæta PM2 forritinu okkar við vinnslulistann okkar og lítill kassi birtist svo þú getir séð að það sé örugglega á netinu. Taktu eftir kassanum sem merktur er idfyrir ferlið þitt. Haltu þessu nærri því við munum víkja mörgum að þessu síðar.

Til að sjá logs fyrir umsókn þína.

pm2 logs [id]

Til dæmis, pm2 logs 0ef þetta er fyrsta PM2 forritið þitt.

Til að stöðva vefforritið þitt hvenær sem er.

pm2 stop [id]

Til að eyða forritinu þínu alveg.

pm2 delete [id]

PM2 er meira að segja með eftirlitsborð ef þú vilt sjá grunntölfræði fyrir forritið þitt og þú getur fengið aðgang að því með þessu.

pm2 monit

Þetta mun sýna nokkrar grunnupplýsingar eins og vinnsluminni notkun, CPU notkun og spenntur.

Frábær eiginleiki sem PM2 býður upp á er watching. Í meginatriðum, að horfa er þegar PM2 skynjar sjálfkrafa breytingar á einhverjum af skránum í sömu möppu og upphafsskráin þín, og það mun sjálfkrafa endurræsa forritið þitt. Til að virkja það skaltu einfaldlega endurræsa forritið þitt, en gefa því áhorfsfána.

pm2 restart [id] --watch

Til að slökkva á áhorfi eftir að það hefur verið virkt skaltu einfaldlega keyra sömu skipunina aftur og áhorf verður óvirkt.

Í þessari kennslu munum við hætta að horfa.

Að setja upp andstæða proxy

Gakktu úr skugga um að þú hafir Nginx uppsett. Ef það af einhverjum ástæðum er það ekki, vísaðu til skrefanna hér að ofan.

Stilltu eldveggstillingarnar þínar. Á Ubuntu ufwer opinberi eldveggurinn. Sjálfgefið er að tengingar séu læstar á höfn 80. Við þurfum að bæta við undantekningu fyrir Nginx on port 80, sem vefforritið okkar mun keyra á.

sudo ufw allow 'Nginx HTTP'

Staðfestu að Nginx þjónninn þinn sé í gangi.

systemctl status nginx

Undir Activehlutanum, ef þú sérð active (running), þá ertu tilbúinn. Ef ekki, geturðu prófað að endurræsa þjónustuna.

systemctl restart nginx

Eyddu sjálfgefna Nginx stillingarskránni.

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

Búðu til nýjan og hringdu hann einfaldlega node.

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

Límdu eftirfarandi inn í skrána og skiptu example.comút fyrir vefsíðulénið þitt.

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

Athugaðu að það proxy_passtáknar IP-töluna sem Keystone appið okkar keyrir á á staðnum, sem er localhostá port 3000. listen 80er höfnin sem við viljum að appinu sé beint til, sem í þessu tilfelli er höfn 80.

Síðan þurfum við að búa til tákntengil eða táknrænan hlekk á möppu sem heitir sites-enabled. Munurinn á sites-enabledog sites-availableer að sites-enabledNginx hleður í raun.

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

Nú verður stillingarskráin þín sites-availabletilbúin til notkunar og hún verður hlaðin frá sites-enabled. Til að beita stillingunum svo hún taki gildi skaltu einfaldlega endurræsa Nginx.

sudo systemctl restart nginx

Að lokum skaltu endurræsa PM2 forritið þitt

pm2 restart [id]

Nú geturðu farið að léninu þínu í vafra og þú munt sjá Welcome to Keystoneskjá með spjaldi sem þú getur skráð þig inn á.

Ef þú sérð það, þá hefur þú sett upp Node.js framleiðslu vefþjón. Ef ekki, þá gætir þú hafa gert skref rangt, og þú gætir viljað fara til baka og fylgja hverju skrefi vandlega.

Þú getur lært meira um Nginx með því að fara á heimasíðu þeirra .

Ég vona að þú hafir haft gaman af þessari kennslu og ég vona að þetta hafi hjálpað þér að setja upp þinn eigin vefþjón til framleiðslu á Vultr VPS þínum.


Hvernig á að setja upp Thelia 2.3 á Debian 9

Hvernig á að setja upp Thelia 2.3 á Debian 9

Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i

Hvernig á að setja upp Microweber á CentOS 7

Hvernig á að setja upp Microweber á CentOS 7

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Að setja upp Microweber á Ubuntu 16.04

Að setja upp Microweber á Ubuntu 16.04

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp dotCMS á Ubuntu 16.04

Hvernig á að setja upp dotCMS á Ubuntu 16.04

Að nota annað kerfi? DotCMS er opinn uppspretta vefumsjónarkerfi í fyrirtækjaflokki skrifað í Java. Það inniheldur næstum alla eiginleika sem þarf t

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með

Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Að nota annað kerfi? BigTree CMS 4.2 er hraðvirkt og létt, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) fyrir fyrirtæki með víðtæka

Að setja upp Pagekit CMS á Ubuntu 16.04 LTS

Að setja upp Pagekit CMS á Ubuntu 16.04 LTS

Að nota annað kerfi? Pagekit er opinn uppspretta CMS skrifað í PHP. Pagekit frumkóði er hýst á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp

Hvernig á að setja upp PyroCMS á Ubuntu 16.04

Hvernig á að setja upp PyroCMS á Ubuntu 16.04

Að nota annað kerfi? PyroCMS er opinn uppspretta CMS skrifað í PHP. PyroCMS frumkóði er hýstur á GitHub. Í þessari handbók ganga vel í gegnum allt

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Subrion 4.1 CMS is a powerful and flexible open source Content Management System (CMS) that brings an intuitive and clear conten

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Að nota annað kerfi? Backdrop CMS 1.8.0 er einfalt og sveigjanlegt, farsímavænt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem gerir okkur kleift að

Hvernig á að setja upp Roadiz CMS á Debian 9

Hvernig á að setja upp Roadiz CMS á Debian 9

Að nota annað kerfi? Inngangur Roadiz er nútímalegt CMS hannað til að takast á við margar tegundir þjónustu. Byggt á Symfony íhlutum og Doctrine ORM, þ.e

Að setja upp Microweber á Debian 9

Að setja upp Microweber á Debian 9

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp Grav CMS á Fedora 28

Hvernig á að setja upp Grav CMS á Fedora 28

Að nota annað kerfi? Grav er opinn uppspretta flatskrár CMS skrifað í PHP. Grav frumkóði er hýst opinberlega á GitHub. Þessi handbók mun sýna þér hvernig t

Hvernig á að setja upp Grav CMS á Debian 9

Hvernig á að setja upp Grav CMS á Debian 9

Að nota annað kerfi? Grav er opinn uppspretta flatskrár CMS skrifað í PHP. Grav frumkóði er hýst opinberlega á GitHub. Þessi handbók mun sýna þér hvernig t

Hvernig á að setja upp Automad CMS á CentOS 7

Hvernig á að setja upp Automad CMS á CentOS 7

Að nota annað kerfi? Automad er opinn uppspretta skráabundið innihaldsstjórnunarkerfi (CMS) og sniðmátsvél skrifað í PHP. Automad frumkóði i

Hvernig á að setja upp Raneto á Ubuntu 17.10

Hvernig á að setja upp Raneto á Ubuntu 17.10

Raneto er ókeypis og opinn þekkingargrunnur, byggður á Node.js sem auðvelt er að setja upp og nota, auk þess sem auðvelt er að stjórna því. Flokkar og síður ar

Hvernig á að setja upp Thelia 2.3 á Ubuntu 16.04

Hvernig á að setja upp Thelia 2.3 á Ubuntu 16.04

Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i

Hvernig á að setja upp október 1.0 CMS á Debian 9 LAMP VPS

Hvernig á að setja upp október 1.0 CMS á Debian 9 LAMP VPS

Að nota annað kerfi? október 1.0 CMS er einfalt og áreiðanlegt, ókeypis og opinn uppspretta efnisstjórnunarkerfi (CMS) byggt á Laravel ramma

Hvernig á að setja upp ImpressPages CMS 5.0 á Ubuntu 16.04 LAMP VPS

Hvernig á að setja upp ImpressPages CMS 5.0 á Ubuntu 16.04 LAMP VPS

Að nota annað kerfi? ImpressPages CMS 5.0 er einfalt og áhrifaríkt, ókeypis og opinn uppspretta, notendavænt, MVC byggt, efnisstjórnunarkerfi (CMS)

Hvernig á að setja upp CMS Made Simple 2.2 á Debian 9 LAMP VPS

Hvernig á að setja upp CMS Made Simple 2.2 á Debian 9 LAMP VPS

Að nota annað kerfi? CMS Made Simple 2.2 er sveigjanlegt og stækkanlegt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem er skynsamlega hannað til að b.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira