Kaip nustatyti „Meteor.js“ žiniatinklio programą naudojant „MongoDB“ ir „Apache“ Ubuntu 16.04 LTS

Meteor.js yra atvirojo kodo JavaScript sistema, sukurta atsižvelgiant į Node.js. Jis populiarus dėl savo požiūrio į žiniatinklio programas kurti naudojant gryną „JavaScript“. „Meteor“ turi priekinio „JavaScript“ palaikymą, kuris veikia žiniatinklio naršyklėje, taip pat galinio „JavaScript“, kuris veiktų pagrindiniame serveryje. Jis labai gerai integruojamas su priekinėmis „JavaScript“ sistemomis, tokiomis kaip „React“ ir „Angular.js“, taip pat su „MongoDB“, populiaria NoSQL duomenų baze. Keletas svarbių priežasčių, kodėl verta rinktis Meteor.js:

  • Meteor.js yra visa dėklo sistema. Taigi su juo gausite viską, ko jums gali prireikti: duomenų bazę, priekinę dalį, užpakalinę dalį. Meteoras atlieka nuostabų darbą, kad viską sujungtų.

  • Greitis. Intuityvi „Meteor“ paketų sistema suteikia daug įrankių, kurių gali prireikti norint tobulinti pritaikymą.

  • Jį puikiai palaiko „Meteor Developer Group“, taip pat kiti kūrėjai, kurie jį naudoja. Lengvai išsiaiškinsite visas iškilusias problemas ir greitai jas išspręsite.

Šioje pamokoje mes pasieksime šiuos Ubuntu 16.04 tikslus:

  • Įdiekite Node.js, mūsų Javascript vykdymo laikas.

  • Įdiegti Meteor.js.

  • Įdiegti MongoDB, pasirinkta meteorų duomenų bazė.

  • Įdiekite Apachemūsų pasirinktą atvirkštinį tarpinį serverį ir, jei reikia, nustatykite mūsų domeną.

  • Išbandykite mūsų svetainę.

  • Sukurkite mūsų svetainę gamybai.

Node.js diegimas

Pirmiausia turėsite įdiegti Node.js, kuris yra mūsų JavaScript interpretatorius, ir Meteor branduolį. Tai leis mums paleisti „Meteor“ ir kitas „Node.js“ programas, kurias galime turėti ateityje. Esant tokiai situacijai, mes įdiegsime Node.js 8. Norėdami pradėti atsisiuntimą, tiesiog savo terminale paleiskite šiuos veiksmus.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Palaukite, kol bus baigtas atsisiuntimas ir diegimas.

„MongoDB“ diegimas

Tada mes įdiegsime savo duomenų bazę: MongoDB. „MongoDB“ yra nemokama atvirojo kodo „NoSQL“ dokumentų duomenų bazė ir pasirinkta „Meteor“ duomenų bazė. Savo dokumentams jis naudoja į JSON panašų formatą, o ne struktūrines lenteles tradicinėje SQL duomenų bazėje.

Importuokite MongoDB viešąjį raktą, kurį naudoja APT(Advanced Packaging Terminal). Tai leidžia APT patikrinti paketą; šiuo atveju MongoDB.

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

Sukurkite reikiamą Ubuntu 16.04 sąrašo failą.

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

Pradėkite MongoDB diegimą ir palaukite, kol diegimas bus baigtas.

sudo apt update && sudo apt install mongodb-org -y

Norėdami redaguoti, atidarykite „Systemd“ paslaugą.

sudo nano /etc/systemd/system/mongodb.service

Nukopijuokite ir įklijuokite toliau pateiktą informaciją, kad užbaigtumėte sistemos paslaugą.

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Naudokite " Control-O", kad išsaugotumėte, ir " Control-X", kad išeitumėte.

Paleiskite MongoDB systemd paslaugą įvesdami sudo systemctl start mongodbsavo terminalą.

Norėdami patikrinti, ar jis sėkmingai paleidžiamas, įveskite toliau pateiktą informaciją.

sudo systemctl status mongodb

Pamatysite, kad paslauga aktyvi.

„Apache2“ diegimas ir nustatymas

Tada mes įdiegsime „Apache“. „Apache“ yra nemokama atvirojo kodo žiniatinklio serverio programinė įranga, kuri taip pat veikia kaip atvirkštinis tarpinis serveris, kurį ir naudosime šioje pamokoje. Norint susieti mūsų Meteor.js programą su , reikalingas atvirkštinis tarpinis serveris port 80. Node.js blokuoja programų paleidimą tame prievade be root prieigos. Apache veikia taip pat rootautomatiškai, kaip ir prisijungia prie port 80, todėl mums nereikės dėl to jaudintis, kai ateis laikas paleisti mūsų svetainę.

Įdiekite „Apache“.

sudo apt update && sudo apt install apache2

Kad galėtume pasiekti išorinius žiniatinklio prievadus, pvz., port 80, turime sukonfigūruoti „Apache“ užkardą. Tai darome per UFW(nesudėtingą ugniasienę).

sudo ufw allow 'Apache Full'

Tai leis pasiekti „ Apache Full“ profilį. Tai suteikia mums įeinantį srautą į port 80, o mūsų programa bus paleista.

Įdiegti Meteor.js ir sukurti mūsų bazinę programą

Dabar įdiegsime savo žiniatinklio sistemą: Meteor.js. Jai įdiegti naudosime paprastą bash scenarijų, kurį pateikė Meteor komanda.

curl https://install.meteor.com/ | sh

Palaukite, kol baigsis diegimas. Iš esmės scenarijus atsisiunčia „Meteor“ iš oficialios svetainės ir įdiegia visame pasaulyje, kad galėtume jį naudoti bet kur. Kai tai bus baigta, galime sukurti savo programų katalogą. „Meteor“ turi patogų mažą įrankį, kurį galime naudoti tam, vadinamą meteor create. Norėdami sukurti programų katalogą, įveskite toliau pateiktą informaciją.

meteor create <projectname>

Aplankas bus sukurtas nurodytu pavadinimu ( <projectname>).

„Apache“ atvirkštinio tarpinio serverio nustatymas

Dabar, kai nustatėme programų katalogą, galime tęsti atvirkštinio tarpinio serverio nustatymą. Apache naudoja modulį, vadinamą mod_proxy, kuris įgyvendina Apache tarpinį serverį.

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

Tai įdiegs modulį ir leis jį naudoti „Apache“.

Tada turėsime įjungti visus reikalingus modulius, kuriuos turi paleisti „Apache“. Tai padarysime naudodami a2enmodįrankį, įgalinantį „Apache“ modulius. Šie moduliai leis mums pasinaudoti atvirkštinio tarpinio serverio pranašumais. Tiesiog įveskite šias komandas į savo terminalą.

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html

Po to turėsime išjungti numatytosios „Apache“ svetainės paleidimą, kad galėtume paleisti savo. Priešingu atveju numatytoji „Apache“ programa nepaisys mūsų. Norėdami išjungti numatytąją svetainę, tiesiog paleiskite toliau nurodytus veiksmus.

sudo a2dissite 000-default

Dabar sukursime savo virtualaus pagrindinio kompiuterio failą. Norėdami tai padaryti, tiesiog atidarykite teksto rengyklę.

sudo nano /etc/apache2/sites-available/<projectname>

Nukopijuokite ir įklijuokite toliau pateiktą informaciją.

<VirtualHost *:80>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80: liepia „Apache“ prisijungti prie 80 prievado, ko mes norime savo žiniatinklio programai.

  • ProxyPass: svetainės, kurią norite persiųsti į atvirkštinį tarpinį serverį, IP adresas. Tai greičiausiai bus jūsų VPS IP

  • ServerName: jūsų serverio pavadinimas (paprastai numatytasis pavadinimas yra localhost).

Baigę sukonfigūruoti reikiamus nustatymus, naudokite " Control-O", kad išsaugotumėte, ir " Control-X", kad išeitumėte.

Pirmą kartą veikia svetainė

Norėdami patikrinti ir įsitikinti, kad svetainė veikia, projekto kataloge įveskite toliau pateiktą informaciją.

meteor

Pamatysite šią išvestį, rodančią, kad jūsų svetainė sėkmingai paleista.

=> App running at: http://localhost:3000/

Atkreipkite dėmesį, kad Meteor pagal numatytuosius nustatymus klausosi port 3000.

Mūsų svetainės nustatymas gamybai

Siekdami užtikrinti, kad mūsų programėlė veiktų, naudosime sisteminę paslaugą. Panašiai, kaip darėme aukščiau su MongoDB, ši sistemos paslauga užtikrins, kad mūsų svetainė būtų paleista kiekvieną kartą, kai tik sistema paleidžiama, ir toliau veiks. Ji taip pat iš naujo paleis programą, jei ji dėl kokios nors priežasties sugenda. Norėdami nustatyti mūsų sistemos paslaugą, savo terminale įveskite toliau pateiktą informaciją.

sudo nano /etc/systemd/system/<projectname>.service

Štai kaip norite, kad jūsų failas atrodytų.

[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1

Pastaba : nepamirškite pakeisti projectnameprojekto pavadinimu ir yourusernameVPS vartotojo vardu.

Štai keletas pagrindinių eilučių, kurias turėtumėte atsiminti.

  • WorkingDirectory: jūsų programos katalogas.

  • Restart: ar paleisti iš naujo, taikymas sustoja dėl kokios nors priežasties.

  • User: Jūsų slapyvardis.

  • Environment=PWD: tapatus WorkingDirectory.

  • Environment=PORT: prievadas, kuriame veikia jūsų programa. Numatytasis yra 3000.

Išsaugokite ir uždarykite failą.

Dabar įjungsime ir pradėsime paslaugą.

sudo systemctl enable <projectname>.service

Kur <projectname>yra mūsų sukurto paslaugos failo pavadinimas.

Tada mes pradėsime paslaugą.

sudo systemctl start <projectname>.service

Jūsų programa prasidės. Norėdami patikrinti, ar jis paleistas, tiesiog paleiskite toliau nurodytus veiksmus.

sudo systemctl status <projectname>

Pamatysite, kad jis aktyvus, patvirtindami, kad paslauga sėkmingai paleista.

Toliau patikrinsime mūsų svetainę. Pasirinktoje žiniatinklio naršyklėje eikite į savo IP adresą.

http://your-server-ip/

Pamatysite „Meteor“ pavyzdžio ekraną, patvirtinantį, kad viską padarėte teisingai.

Mūsų programos tvarkymas

Dabar, kai pradėjome savo programą, turėsime ją valdyti.

Programos paleidimas iš naujo

sudo systemctl restart <projectname>

Programos sustabdymas

sudo systemctl stop <projectname>

Programos būsenos peržiūra

sudo systemctl status <projectname>

Žurnalų peržiūra

journalctl -u <projectname>

Dabar sėkmingai sukonfigūravote MongoDB, Apache ir Meteor ir sukūrėte Meteor.js žiniatinklio serverį gamybai. Dabar visa kita priklauso nuo jūsų: sukurti savo svetainę priekinėje ir galinėje dalyje. Turite prieigą prie „MongoDB“, kad galėtumėte saugoti bet kokius duomenis, kurių jums gali prireikti, ir „Node.js“, kuris siūlo įvairius modulius, pasiekiamus per „Node Package Manager“ ( NPM), kad dar labiau sustiprintų savo užpakalinę sistemą. Norėdami gauti daugiau dokumentų, nedvejodami apsilankykite „ Meteor“ svetainėje , kur galite daugiau sužinoti, kaip tinkinti svetainę pagal savo skonį. Be to, kai dirbate su duomenų bazės operacijomis , galite remtis MongoDB dokumentacija .


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver

„Debian Wheezy“ nustatykite „iRedMail“.

„Debian Wheezy“ nustatykite „iRedMail“.

Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze

Yii programos nustatymas Ubuntu 14.04

Yii programos nustatymas Ubuntu 14.04

Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai

Ekrano naudojimas Ubuntu 14.04

Ekrano naudojimas Ubuntu 14.04

Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma

Logrotate naudojimas žurnalo failams tvarkyti

Logrotate naudojimas žurnalo failams tvarkyti

Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

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.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

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.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

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…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

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 raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Š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į.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

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į