Kaip įdiegti Thelia 2.3 Debian 9
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Šioje pamokoje mes nustatysime žiniatinklio serverį su atvirkštiniu tarpiniu serveriu. TVS, kurią naudosime, yra Keystone.js, gerai žinoma žiniatinklio programų sistema, pagrįsta Express.js. Atvirkštinis tarpinis serveris, kurį naudosime, yra „Nginx“, kuris yra nemokamas atvirojo kodo atvirkštinis tarpinis serveris, taip pat HTTP serveris. Duomenų bazė, kurią naudosime, yra MongoDB, NoSQL dokumentų duomenų bazė. Tam reikės turėti domeną su nustatytais įrašais. Jei to rinkinio neturite, pasirūpinkite tuo ir grįžkite į šią mokymo programą.
Pirmiausia įdiegsime Node.js, kuris yra „Javascript“ interpretatorius, pagrįstas „Chrome V8 Javascript“ varikliu.
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
Tada įdiegsime „Nginx“, mūsų atvirkštinį tarpinį serverį.
sudo apt update
sudo apt install nginx
Tai atnaujins paketų sąrašus ir įdiegs „Nginx“. Kai diegimas bus baigtas, mes nustatysime savo mazgo projektą.
Sukurkite mūsų mazgo projektą. Norėdami tai padaryti, tiesiog sukurkite naują aplanką.
mkdir website
Tada mes sukursime savo package.json
failą. Norėdami tai padaryti, tiesiog paleiskite npm init
savo terminalą, užpildykite laukus ir atsakykite „ yes
“, kad patvirtintumėte. Sukūrę package.json
failą, mes įdiegsime šiuos mazgo modulius.
sudo npm install -g generator-keystone
sudo npm install -g yo
Baigę juos atsisiųsti, paleiskite šiuos veiksmus.
yo keystone
Užpildykite reikiamus laukus. Jis lieps už project name
The template engine
, email
už valdymo pulto, ir pan. Jei nežinote, ką pasirinkti, tada numatytieji nustatymai bus tinkami. Po to, kai sukonfigūravote trapinės reikšmės sąranką, galime patikrinti, ar mūsų serveris veikia, įvesdami, node keystone
kad paleistumėte programą. Pagal numatytuosius nustatymus jūsų programa veiks localhost
, prievade 3000
. Atminkite, kad jei neįdiegėte MongoDB, duomenų bazė jums nebus iš karto pasiekiama. Galite sužinoti, kaip jį įdiegti vėliau, mokomojoje programoje.
Štai pagrindinis Keystone.js katalogo išdėstymas:
/lib
- Čia saugosite savo pasirinktines bibliotekas ir kitą kodą.
/models
- Čia saugosite savo programos duomenų bazės modelius. KeystoneJS naudoja MongoDB kaip duomenų bazės teikėją.
/public
- Čia bus saugomi jūsų statiniai failai (CSS, JS, vaizdai ir pan.).
/routes/api
– Čia bus saugomi jūsų programos API valdikliai.
/routes.views
- Čia bus saugomi programų peržiūros valdikliai.
/templates
– Čia bus saugomi visi jūsų programos šablonų failai.
/updates
– Čia bus saugomi jūsų perkėlimo scenarijai.
package.json
– Tai jūsų npm konfigūracijos failas, kurį generatorius mums sugeneravo.
keystone.js
- Mūsų pagrindinis pradžios failas, jį paleidžiame, kai paleidžiame svetainę.
Kaip minėta anksčiau, mūsų duomenų bazė, kurią naudosime, yra MongoDB, kuri yra patikima NoSQL, į dokumentus orientuota duomenų bazė. Jei jau esate įdiegę MongoDB, galite praleisti šį skyrių. Jei ne, tada štai kaip jį įdiegti Ubuntu 16.04.
Importuokite viešąjį raktą, naudojamą mongoDB paketui.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Sukurkite sąrašo failą, naudojamą paketui įdiegti.
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
Atnaujinkite savo paketų sąrašus naudodami apt
.
sudo apt update
Galiausiai įdiekite MongoDB.
sudo apt install mongodb-org -y
Kai šis diegimas bus baigtas, paleiskite MongoDB.
sudo service mongod start
Tai pradės MongoDB procesą prievade 27017
.
„MongoDB“ bus naudojama visoje programoje ir bus naudojama informacijai, kurią naudojame savo modeliams, saugoti, pavyzdžiui, User
modeliui. Keystone naudoja ją kaip pasirinktą duomenų bazę ir šiuo metu negalite naudoti kitų duomenų bazių tiekėjų.
Dabar atėjo laikas įdiegti PM2 (Process Manager 2.) PM2 yra procesų tvarkyklė Node.js programoms, npm modulio forma. Tai yra paprastas būdas valdyti programas ir paleisti jas fone. Kadangi jis yra NPM, viskas, ką turime padaryti, kad jį įdiegtume, yra atlikti toliau nurodytus veiksmus.
sudo npm install pm2 -g
Tai nurodo npm įdiegti jį visame pasaulyje, kad galėtume jį naudoti bet kurioje mūsų sistemos vietoje.
Anksčiau savo žiniatinklio programą paleidome naudodami node keystone
. Su PM2 viskas yra šiek tiek kitaip. Dabar paleidžiame savo mazgo programą naudodami toliau nurodytus veiksmus.
pm2 start keystone.js
Taip mūsų PM2 programa bus įtraukta į mūsų procesų sąrašą ir bus rodomas mažas langelis, kad pamatytumėte, ar ji tikrai yra internete. Atkreipkite dėmesį į langelį, pažymėtą id
jūsų procesui. Laikykite tai arti, nes vėliau pateiksime daug nuorodų į tai.
Norėdami pamatyti savo programos žurnalus.
pm2 logs [id]
Pavyzdžiui, pm2 logs 0
jei tai jūsų pirmoji PM2 programa.
Norėdami bet kada sustabdyti žiniatinklio programą.
pm2 stop [id]
Norėdami visiškai ištrinti programą.
pm2 delete [id]
PM2 netgi turi stebėjimo prietaisų skydelį, jei norite pamatyti pagrindinę savo programos statistiką, ir galite ją pasiekti naudodami šią.
pm2 monit
Tai parodys tam tikrą pagrindinę informaciją, pvz., RAM naudojimą, procesoriaus naudojimą ir veikimo laiką.
Puiki funkcija, kurią siūlo PM2, yra watching
. Iš esmės žiūrima, kai PM2 automatiškai aptinka bet kurio failo pakeitimus tame pačiame kataloge kaip ir pradžios failas, ir automatiškai iš naujo paleis programą. Norėdami tai įjungti, tiesiog iš naujo paleiskite programą, bet perduokite jai laikrodžio vėliavėlę.
pm2 restart [id] --watch
Norėdami išjungti žiūrėjimą, kai jis buvo įjungtas, tiesiog paleiskite tą pačią komandą dar kartą ir žiūrėjimas bus išjungtas.
Šioje pamokoje žiūrėjimą paliksime.
Įsitikinkite, kad įdiegėte „Nginx“. Jei dėl kokių nors priežasčių taip nėra, žr. aukščiau nurodytus veiksmus.
Sureguliuokite ugniasienės nustatymus. Ubuntu ufw
yra oficiali ugniasienė. Pagal numatytuosius nustatymus ryšiai blokuojami prievade 80
. Turime pridėti „Nginx on port“ išimtį 80
, kurioje veiks mūsų žiniatinklio programa.
sudo ufw allow 'Nginx HTTP'
Patikrinkite, ar veikia jūsų Nginx serveris.
systemctl status nginx
Jei Active
skiltyje matote active (running)
, tada viskas nustatyta. Jei ne, galite pabandyti iš naujo paleisti paslaugą.
systemctl restart nginx
Ištrinkite numatytąjį Nginx konfigūracijos failą.
sudo rm /etc/nginx/sites-available/default
Sukurkite naują ir tiesiog paskambinkite node
.
sudo nano /etc/nginx/sites-available/node
Įklijuokite toliau pateiktą informaciją į failą ir pakeiskite example.com
savo svetainės domenu.
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";
}
}
Atminkite, kad proxy_pass
žymi IP, kuriame mūsų Keystone programa veikia vietoje, kuri yra localhost
prievade 3000
.
listen 80
yra prievadas, į kurį norime, kad programa būtų nukreipta, o šiuo atveju tai yra prievadas 80
.
Tada turime sukurti simbolinę nuorodą arba simbolinę nuorodą į aplanką, vadinamą sites-enabled
. Skirtumas tarp sites-enabled
ir sites-available
yra tas, kad sites-enabled
iš tikrųjų įkelia Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Dabar jūsų konfigūracijos failas sites-available
bus paruoštas naudoti ir bus įkeltas iš sites-enabled
. Norėdami pritaikyti konfigūraciją, kad ji įsigaliotų, tiesiog iš naujo paleiskite „Nginx“.
sudo systemctl restart nginx
Galiausiai iš naujo paleiskite PM2 programą
pm2 restart [id]
Dabar galite naršyti į savo domeną naršyklėje ir pamatysite Welcome to Keystone
ekraną su skydeliu, kuriame galėsite prisijungti.
Jei matote, vadinasi, sėkmingai nustatėte Node.js gamybos žiniatinklio serverį. Jei ne, galbūt vieną veiksmą atlikote neteisingai ir galbūt norėsite grįžti atgal ir atidžiai sekti kiekvieną veiksmą.
Daugiau apie Nginx galite sužinoti apsilankę jų svetainėje .
Tikiuosi, kad jums patiko ši pamoka ir tikiuosi, kad tai padėjo jums sukurti savo žiniatinklio serverį, skirtą gamybai Vultr VPS.
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t
Naudojate kitą sistemą? Pagekit 1.0 TVS yra graži, modulinė, išplečiama ir lengva, nemokama ir atviro kodo turinio valdymo sistema (TVS) su
Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų
Naudojate kitą sistemą? Pagekit yra atvirojo kodo TVS, parašyta PHP. „Pagekit“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti
Naudojate kitą sistemą? PyroCMS yra atvirojo kodo TVS, parašyta PHP. PyroCMS šaltinio kodas yra priglobtas GitHub. Šiame vadove gerai eikite per visą
Naudojate kitą sistemą? Subrion 4.1 TVS yra galinga ir lanksti atvirojo kodo turinio valdymo sistema (TVS), kuri suteikia intuityvų ir aiškų turinį
Naudojate kitą sistemą? Backdrop CMS 1.8.0 yra paprasta ir lanksti, mobiliesiems pritaikyta nemokama ir atvirojo kodo turinio valdymo sistema (TVS), kuri leidžia mums
Naudojate kitą sistemą? Įvadas Roadiz yra moderni TVS, skirta daugelio tipų paslaugoms tvarkyti. Remiantis Symfony komponentais ir doktrina ORM, t
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? Grav yra atvirojo kodo plokščių failų TVS, parašyta PHP. „Grav“ šaltinio kodas viešai priglobtas „GitHub“. Šis vadovas parodys, kaip t
Naudojate kitą sistemą? Grav yra atvirojo kodo plokščių failų TVS, parašyta PHP. „Grav“ šaltinio kodas viešai priglobtas „GitHub“. Šis vadovas parodys, kaip t
Naudojate kitą sistemą? Automad yra atvirojo kodo failais pagrįsta turinio valdymo sistema (TVS) ir šablonų variklis, parašytas PHP. „Automad“ šaltinio kodas i
„Raneto“ yra nemokama atvirojo kodo žinių bazė, sukurta naudojant Node.js, kurią lengva nustatyti ir naudoti, taip pat lengva administruoti. Kategorijos ir puslapiai ar
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Naudojate kitą sistemą? Spalio 1.0 TVS yra paprasta ir patikima, nemokama ir atviro kodo turinio valdymo sistema (TVS), sukurta remiantis Laravel sistema
Naudojate kitą sistemą? ImpressPages CMS 5.0 yra paprasta ir efektyvi, nemokama ir atviro kodo, patogi, MVC pagrįsta turinio valdymo sistema (TVS).
Naudojate kitą sistemą? CMS Made Simple 2.2 yra lanksti ir išplečiama, nemokama ir atvirojo kodo turinio valdymo sistema (TVS), sumaniai sukurta
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį