Kā iestatīt Meteor.js tīmekļa lietojumprogrammu, izmantojot MongoDB un Apache Ubuntu 16.04 LTS

Meteor.js ir atvērtā pirmkoda JavaScript ietvars, kas rakstīts, paturot prātā Node.js. Tas ir populārs, jo tajā ir paredzēts veidot tīmekļa lietojumprogrammas tikai JavaScript. Meteor ietver priekšgala JavaScript atbalstu, kas darbojas tīmekļa pārlūkprogrammā, kā arī aizmugures JavaScript, kas darbotos resursdatora serverī. Tas ļoti labi integrējas ar priekšgala JavaScript ietvariem, piemēram, React un Angular.js, kā arī MongoDB, populāru NoSQL datu bāzi. Daži galvenie iemesli, kāpēc izvēlēties Meteor.js, ir šādi:

  • Meteor.js ir pilna steka sistēma. Tādējādi jūs iegūstat visu, kas jums varētu būt nepieciešams: datu bāze, priekšgals, aizmugursistēma. Meteors paveic apbrīnojamu darbu, lai to visu sasaistītu.

  • Ātrums. Meteor intuitīvā pakotņu sistēma sniedz jums daudz rīku, kas jums var būt nepieciešami, lai pilnveidotu savu lietojumprogrammu.

  • Tam ir labs Meteor izstrādātāju grupas atbalsts, kā arī citi izstrādātāji, kas to izmanto. Jūs viegli varēsit noskaidrot visas iespējamās problēmas un ātri tās atrisināt.

Šajā apmācībā mēs sasniegsim šādus mērķus Ubuntu 16.04:

  • Instalējiet Node.jsmūsu Javascript izpildlaiku.

  • Instalējiet Meteor.js.

  • Instalējiet MongoDB, Meteor datubāze pēc izvēles.

  • Instalējiet Apachemūsu izvēlēto apgriezto starpniekserveri un iestatiet mūsu domēnu, ja nepieciešams.

  • Pārbaudiet mūsu vietni.

  • Iestatiet mūsu vietni ražošanai.

Node.js instalēšana

Vispirms jums būs jāinstalē Node.js, kas ir mūsu JavaScript tulks, un Meteor kodols. Tas ļaus mums palaist Meteor un citas Node.js lietojumprogrammas, kas mums varētu būt nākotnē. Šādā situācijā mēs instalēsim Node.js 8. Lai sāktu lejupielādi, terminālī izpildiet tālāk norādīto.

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

Pagaidiet, līdz tiek pabeigta lejupielāde un instalēšana.

MongoDB instalēšana

Tālāk mēs instalēsim mūsu datu bāzi: MongoDB. MongoDB ir bezmaksas atvērtā koda NoSQL dokumentu datubāze un Meteor datubāze pēc izvēles. Tā saviem dokumentiem izmanto JSON līdzīgu formātu, atšķirībā no strukturētām tabulām tradicionālā SQL datu bāzē.

Importējiet MongoDB publisko atslēgu, ko izmanto APT(Advanced Packaging Terminal). Tas ļauj APT pārbaudīt paketi; šajā gadījumā MongoDB.

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

Izveidojiet nepieciešamo saraksta failu Ubuntu 16.04.

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

Sāciet MongoDB instalēšanu un gaidiet, līdz instalēšana tiks pabeigta.

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

Atveriet sistēmas pakalpojumu rediģēšanai.

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

Kopējiet un ielīmējiet tālāk norādīto, lai pabeigtu sistēmas pakalpojumu.

[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

Izmantojiet " Control-O", lai saglabātu, un " Control-X", lai izietu.

Palaidiet MongoDB systemd pakalpojumu, ierakstot sudo systemctl start mongodbterminālī.

Lai pārbaudītu, vai tas ir veiksmīgi startēts, ierakstiet tālāk norādīto.

sudo systemctl status mongodb

Jūs redzēsit, ka pakalpojums ir aktīvs.

Apache2 instalēšana un iestatīšana

Tālāk mēs instalēsim Apache. Apache ir bezmaksas atvērtā koda tīmekļa servera programmatūra, kas darbojas arī kā reversais starpniekserveris, ko mēs izmantosim šajā apmācībā. Ir nepieciešams apgrieztais starpniekserveris, lai saistītu mūsu Meteor.js lietojumprogrammu ar port 80. Node.js bloķē lietojumprogrammu darbību šajā portā bez root piekļuves. Apache darbojas tikpat rootautomātiski, kā arī saistās ar port 80, tāpēc mums nebūs par to jāuztraucas, kad pienāks laiks palaist mūsu vietni.

Instalējiet Apache.

sudo apt update && sudo apt install apache2

Lai nodrošinātu piekļuvi ārējiem tīmekļa portiem, piemēram, port 80, mums ir jākonfigurē Apache ugunsmūris. Mēs to darām, izmantojot UFW(nesarežģītu ugunsmūri).

sudo ufw allow 'Apache Full'

Tas ļaus piekļūt " Apache Full" profilam. Tādējādi mēs saņemam ienākošo trafiku uz port 80, un tas ir tas, kurā darbosies mūsu lietojumprogramma.

Meteor.js instalēšana un mūsu bāzes lietojumprogrammas izveide

Tagad mēs instalēsim mūsu tīmekļa ietvaru: Meteor.js. Lai to instalētu, mēs izmantosim vienkāršu bash skriptu, ko nodrošina Meteor komanda.

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

Pagaidiet, līdz instalēšana tiks pabeigta. Būtībā skripts lejupielādē Meteor no oficiālās vietnes un instalē to globāli, lai mēs varētu to izmantot no jebkuras vietas. Kad tas ir pabeigts, mēs varam izveidot mūsu lietojumprogrammu direktoriju. Meteoram ir ērts mazs rīks, ko mēs varam izmantot, lai to izdarītu, ko sauc par meteor create. Lai izveidotu lietojumprogrammu direktoriju, ierakstiet tālāk norādīto.

meteor create <projectname>

Mape tiks izveidota ar norādīto nosaukumu ( <projectname>).

Apache reversā starpniekservera iestatīšana

Tagad, kad mūsu lietojumprogrammu direktorijs ir iestatīts, mēs varam turpināt reversā starpniekservera iestatīšanu. Apache izmanto moduli ar nosaukumu mod_proxy, kas ievieš Apache starpniekserveri.

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

Tas instalēs moduli un padarīs to pieejamu Apache lietošanai.

Pēc tam mums būs jāiespējo visi nepieciešamie moduļi, kas nepieciešami Apache palaišanai. Mēs to darīsim ar a2enmodrīku, kas iespējo Apache moduļus. Šie moduļi ļaus mums izmantot apgrieztā starpniekservera priekšrocības. Vienkārši ierakstiet šīs komandas terminālī.

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

Pēc tam mums būs jāatspējo noklusējuma Apache vietnes palaišana, lai mēs varētu sākt savu darbību. Pretējā gadījumā noklusējuma Apache lietojumprogramma ignorēs mūsējo. Lai atspējotu noklusējuma vietni, vienkārši izpildiet tālāk norādīto.

sudo a2dissite 000-default

Tagad mēs izveidosim mūsu virtuālās resursdatora failu. Lai to izdarītu, vienkārši atveriet teksta redaktoru.

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

Kopējiet un ielīmējiet tālāk norādīto.

<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: liek Apache pievienot 80. portam, ko mēs vēlamies savai tīmekļa lietojumprogrammai.

  • ProxyPass: tās vietnes IP adrese, kuru vēlaties pārsūtīt uz reverso starpniekserveri. Tas, visticamāk, būs jūsu VPS IP

  • ServerName: jūsu servera nosaukums (noklusējuma nosaukums parasti ir localhost).

Kad esat pabeidzis nepieciešamo iestatījumu konfigurēšanu, izmantojiet " Control-O", lai saglabātu, un " Control-X", lai izietu.

Vietnes palaišana pirmo reizi

Lai pārbaudītu un pārliecinātos, ka vietne darbojas, projekta direktorijā ierakstiet tālāk norādīto.

meteor

Jūs redzēsit šādu izvadi, kas parāda, ka jūsu vietne ir veiksmīgi startējusi.

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

Ņemiet vērā, ka Meteor pēc noklusējuma klausās port 3000.

Mūsu vietnes iestatīšana ražošanai

Lai pārliecinātos, ka mūsu lietotne var turpināt darboties, mēs izmantosim sistēmisku pakalpojumu. Līdzīgi kā iepriekš ar MongoDB, šis sistēmas pakalpojums nodrošinās, ka mūsu vietne tiks startēta ikreiz, kad mūsu sistēma tiks startēta, un turpinās darboties. Tas arī restartēs mūsu lietojumprogrammu, ja tā kāda iemesla dēļ avarē. Lai iestatītu mūsu sistēmas pakalpojumu, terminālī ierakstiet tālāk norādīto.

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

Lūk, kā vēlaties, lai jūsu fails izskatītos.

[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

Piezīme : neaizmirstiet aizstāt projectnamear projekta nosaukumu un yourusernamear VPS lietotājvārdu.

Šeit ir dažas galvenās līnijas, kas jums jāpatur prātā.

  • WorkingDirectory: jūsu lietojumprogrammas direktorijs.

  • Restart: neatkarīgi no tā, vai restartēt vai nē, lietojumprogramma tiek pārtraukta kāda iemesla dēļ.

  • User: Tavs lietotājvārds.

  • Environment=PWD: identisks WorkingDirectory.

  • Environment=PORT: ports, kurā darbojas jūsu lietojumprogramma. Noklusējums ir 3000.

Saglabājiet un aizveriet failu.

Tagad mēs iespējosim un sāksim pakalpojumu.

sudo systemctl enable <projectname>.service

Kur <projectname>ir mūsu izveidotā pakalpojuma faila nosaukums.

Pēc tam mēs sāksim pakalpojumu.

sudo systemctl start <projectname>.service

Jūsu pieteikums tiks sākts. Lai pārbaudītu, vai tas ir palaists, vienkārši izpildiet tālāk norādīto.

sudo systemctl status <projectname>

Jūs redzēsit, ka tas ir aktīvs, pārbaudot, vai pakalpojums ir veiksmīgi palaists.

Tālāk mēs apskatīsim mūsu vietni. Savā izvēlētajā tīmekļa pārlūkprogrammā dodieties uz savu IP adresi.

http://your-server-ip/

Jūs redzēsit Meteor parauga ekrānu, kas pārbaudīs, vai esat visu izdarījis pareizi.

Mūsu lietojumprogrammas pārvaldība

Tagad, kad esam sākuši lietot lietojumprogrammu, mums tā būs jāpārvalda.

Lietojumprogrammas restartēšana

sudo systemctl restart <projectname>

Lietojumprogrammas apturēšana

sudo systemctl stop <projectname>

Lietojumprogrammas statusa apskate

sudo systemctl status <projectname>

Žurnālu apskate

journalctl -u <projectname>

Tagad esat veiksmīgi konfigurējis MongoDB, Apache un Meteor un izveidojis Meteor.js tīmekļa serveri ražošanai. Tagad pārējais ir jūsu ziņā — izveidot vietni priekšpusē un aizmugurē. Jums ir piekļuve MongoDB, lai saglabātu visus jums nepieciešamos datus, un Node.js, kas piedāvā dažādus moduļus, kas pieejami, izmantojot Node Package Manager ( NPM), lai vēl vairāk stiprinātu savu aizmugursistēmu. Lai iegūtu vairāk dokumentācijas, apmeklējiet vietni Meteor , kur varat uzzināt, kā pielāgot savu vietni atbilstoši savām vēlmēm. Ja strādājat ar datu bāzes operācijām , varat arī atsaukties uz MongoDB dokumentāciju .


Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot

Docker CE instalēšana Ubuntu 16.04

Docker CE instalēšana Ubuntu 16.04

Vai izmantojat citu sistēmu? Docker ir lietojumprogramma, kas ļauj izvietot programmas, kas tiek darbinātas kā konteineri. Tas tika uzrakstīts populārajā Go programmā

Netīrās govs eksploīta ielāgošana vietnē CentOS

Netīrās govs eksploīta ielāgošana vietnē CentOS

Kas ir netīrā govs (CVE-2016-5195)? Netīrās govs ievainojamība tiek izmantota, izmantojot to, kā Linux apstrādā kodu. Tas ļauj nepievilinātam lietotājam gai

Iestatiet laika joslu un NTP operētājsistēmā Ubuntu 14.04

Iestatiet laika joslu un NTP operētājsistēmā Ubuntu 14.04

Vultr serveri var nebūt izvietoti ar jūsu serverī nepieciešamo laika joslu/datumu/laiku. Par laimi mēs varam manuāli iestatīt laika joslu, lai novērstu problēmas

Rust instalēšana Ubuntu 14.04

Rust instalēšana Ubuntu 14.04

Rust, plaši pazīstama kā Rust-Lang, ir sistēmas programmēšanas valoda, ko izstrādā Mozilla un atbalsta LLVM. Rūsa ir pazīstama ar programmu novēršanu

Kā instalēt osTicket uz FreeBSD 12

Kā instalēt osTicket uz FreeBSD 12

Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā

Darbs ar Linux iespējām

Darbs ar Linux iespējām

Ievads Linux iespējas ir īpaši atribūti Linux kodolā, kas piešķir procesiem un binārajiem izpildāmajiem failiem īpašas privilēģijas, kas ir normālas.

Kā instalēt JuliaLang Ubuntu 17.04

Kā instalēt JuliaLang Ubuntu 17.04

Julia, plaši pazīstama kā JuliaLang, ir programmēšanas valoda skaitliskajai skaitļošanai. Džūlija ir tikpat ātra kā C, taču tas neupurē lasāmību

Augsta pieejamība, izmantojot privāto tīklu Ubuntu 16.04 ar Keepalived

Augsta pieejamība, izmantojot privāto tīklu Ubuntu 16.04 ar Keepalived

Dažām augstas pieejamības arhitektūrām nepieciešama peldoša IP adrese. Šī funkcionalitāte ir pieejama Vultr platformā, tiklīdz ir izveidots privātais tīkls

Iestatiet tikai SFTP lietotāju kontus Ubuntu 14

Iestatiet tikai SFTP lietotāju kontus Ubuntu 14

Ievads Dažos gadījumos ir nepieciešams izveidot lietotājus ar lasīšanas un rakstīšanas piekļuvi vienam direktorijam, tikai izmantojot FTP. Šis raksts jums parādīs, kā t

Kā iestatīt Node.js pastāvīgās lietojumprogrammas Ubuntu 16.04

Kā iestatīt Node.js pastāvīgās lietojumprogrammas Ubuntu 16.04

Node.js lietojumprogrammas ir populāras to mērogošanas spējas dēļ. Vairāku vienlaicīgu procesu palaišana vairākos serveros nodrošina mazāku latentumu un ilgāku darbības laiku

Kā instalēt SuiteCRM operētājsistēmā Ubuntu 16.04

Kā instalēt SuiteCRM operētājsistēmā Ubuntu 16.04

SuiteCRM ir bezmaksas atvērtā koda alternatīva populārajai klientu attiecību pārvaldības (CRM) sistēmai SugarCRM. Tas kļuva populārs, kad SugarCRM nolēma

Kā instalēt Open Eshop operētājsistēmā Ubuntu 16.04

Kā instalēt Open Eshop operētājsistēmā Ubuntu 16.04

Open Eshop ir bezmaksas atvērtā koda e-komercijas programmatūra digitālo preču, piemēram, MP3, e-grāmatu, filmu, programmatūras un daudz ko citu, pārdošanai. Šajā apmācībā mēs vēlēsimies

Instalējiet NixOS vietnē Vultr

Instalējiet NixOS vietnē Vultr

NixOS ir tīri funkcionāls Linux izplatīšana. To var atrast vietnē nixos.org. Galvenais NixOS izmantošanas iemesls ir tas, ka tas ir pilnībā deklaratīvs, kas padara

Instalējiet Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Instalējiet Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Iespējams, daudzi cilvēki izmantos savus Vultr VPS kā tīmekļa serverus, laba izvēle būtu Nginx kā tīmekļa serveris. Šajā tēmā es aprakstīšu o

Hosts faila izmantošana vietņu pārbaudei

Hosts faila izmantošana vietņu pārbaudei

Hosts fails ir īpašs fails jūsu darbstacijas datorā, kurā tiks saglabāta IP un nosaukuma informācija. Šis fails tiek pārbaudīts pirms DNS, tādēļ, ja ievietojat a

Kā instalēt Xubuntu darbvirsmu Vultr serveros, izmantojot Ubuntu 15.10

Kā instalēt Xubuntu darbvirsmu Vultr serveros, izmantojot Ubuntu 15.10

Xubuntu ir XFCE + Ubuntu! XFCE ir viegla Ubuntu GUI/darbvirsma. Vultr serveriem ir nepieciešamas papildu atkarības, kas pēc noklusējuma nav instalētas

Iestatīšana ļauj šifrēt ar Lighttpd Ubuntu 16.04

Iestatīšana ļauj šifrēt ar Lighttpd Ubuntu 16.04

Ievads Let's Encrypt ir sertifikācijas iestāde (CA), kas izsniedz bezmaksas SSL/TLS sertifikātus. Lighttpd ir viegls tīmekļa serveris, kas darbojas uz lo

Apache optimizācija zemas klases VPS operētājsistēmā Ubuntu 14.04

Apache optimizācija zemas klases VPS operētājsistēmā Ubuntu 14.04

Apache ir ļoti viegli instalēt un inicializēt, taču tas ir aprīkots ar daudziem iepriekš instalētiem moduļiem, kā rezultātā, palaižot, var rasties veiktspējas problēmas.

Kā novērst vienlaicīgus savienojumus operētājsistēmā Linux, izmantojot IPTables

Kā novērst vienlaicīgus savienojumus operētājsistēmā Linux, izmantojot IPTables

iptables ir ugunsmūra programmatūra, ko var atrast daudzos izplatījumos, tostarp CentOS un Ubuntu. Šajā dokumentā jūs redzēsit, kā jūs varat novērst vienlaicīgumu

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk