Meteor.js-verkkosovelluksen asentaminen MongoDB:n ja Apachen kanssa Ubuntu 16.04 LTS:ssä

Meteor.js on avoimen lähdekoodin JavaScript-kehys, joka on kirjoitettu Node.js:ää ajatellen. Se on suosittu, koska sen näkemys rakentaa verkkosovelluksia puhtaalla JavaScriptillä. Meteor sisältää etupään JavaScript-tuen, joka toimii verkkoselaimessa, sekä tausta-JavaScriptin, joka toimisi isäntäpalvelimella. Se integroituu erittäin hyvin käyttöliittymän JavaScript-kehyksiin, kuten React ja Angular.js, sekä MongoDB, suosittu NoSQL-tietokanta. Muutama suuri syy valita Meteor.js ovat seuraavat:

  • Meteor.js on täydellinen pinokehys. Joten sen avulla saat kaiken mitä koskaan tarvitset: tietokannan, käyttöliittymän, taustajärjestelmän. Meteor tekee hämmästyttävää työtä yhdistääkseen kaiken.

  • Nopeus. Meteorin intuitiivinen pakettijärjestelmä antaa sinulle monia työkaluja, joita saatat tarvita sovelluksesi viimeistelyyn.

  • Sillä on hyvä tuki Meteor Developer Groupilta sekä muilta sitä käyttäviltä kehittäjiltä. Voit helposti selvittää mahdolliset ongelmasi ja ratkaista ne nopeasti.

Tässä opetusohjelmassa saavutamme seuraavat tavoitteet Ubuntu 16.04:ssä:

  • Asenna Node.js, Javascript-ajoaikamme.

  • Asenna Meteor.js.

  • Asenna MongoDB, Meteorin tietokanta.

  • Asenna Apachevalitsemamme käänteinen välityspalvelin ja määritä verkkotunnuksemme tarvittaessa.

  • Testaa verkkosivustoamme.

  • Asenna verkkosivustomme tuotantoa varten.

Node.js:n asentaminen

Sinun on ensin asennettava Node.js, joka on JavaScript-tulkkimme, ja Meteorin ydin. Sen avulla voimme käyttää Meteoria ja muita Node.js-sovelluksia, joita meillä saattaa olla tulevaisuudessa. Tässä tilanteessa asennamme Node.js 8:n. Aloita lataus suorittamalla seuraava päätelaitteellasi.

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

Odota, että lataus ja asennus on valmis.

MongoDB:n asennus

Seuraavaksi asennamme tietokantamme: MongoDB. MongoDB on ilmainen, avoimen lähdekoodin NoSQL-dokumenttitietokanta ja Meteorin valitsema tietokanta. Se käyttää asiakirjoissaan JSON-tyyppistä muotoa toisin kuin perinteisen SQL-tietokannan jäsennellyt taulukot.

Tuo APT(Advanced Packaging Terminal) käyttämä MongoDB-julkinen avain . Tämä antaa APT:lle mahdollisuuden tarkistaa paketin; tässä tapauksessa MongoDB.

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

Luo tarvittava luettelotiedosto Ubuntu 16.04:lle.

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

Aloita MongoDB:n asennus ja odota asennuksen päättymistä.

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

Avaa systemd-palvelu muokkausta varten.

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

Suorita systemd-palvelu kopioimalla ja liittämällä seuraava.

[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

Käytä " Control-O" tallentaaksesi ja " Control-X" poistuaksesi.

Suorita MongoDB systemd -palvelu kirjoittamalla sudo systemctl start mongodbterminaaliin.

Varmista, että se on käynnistynyt onnistuneesti kirjoittamalla seuraava.

sudo systemctl status mongodb

Näet, että palvelu on aktiivinen.

Apache2:n asennus ja käyttöönotto

Seuraavaksi asennamme Apachen. Apache on ilmainen ja avoimen lähdekoodin verkkopalvelinohjelmisto, joka toimii myös käänteisenä välityspalvelimena, jota hyödynnämme tässä opetusohjelmassa. Käänteinen välityspalvelin tarvitaan Meteor.js-sovelluksemme sitomiseen port 80. Node.js estää sovelluksia toimimasta kyseisessä portissa ilman pääkäyttäjän oikeuksia. Apache toimii yhtä roothyvin automaattisesti kuin sitoutuu sovellukseen port 80, joten meidän ei tarvitse huolehtia siitä, kun on aika käynnistää verkkosivustomme.

Asenna Apache.

sudo apt update && sudo apt install apache2

Jotta voimme sallia pääsyn ulkopuolisiin verkkoportteihin, kuten port 80, meidän on määritettävä palomuurimme Apachea varten. Teemme tämän UFW(yksinkertaisen palomuurin) kautta.

sudo ufw allow 'Apache Full'

Tämä sallii pääsyn Apache Fullprofiiliin " ". Tämä antaa meille saapuvan liikenteen osoitteeseen port 80, jolla sovelluksemme ajetaan.

Meteor.js:n asentaminen ja perussovelluksemme luominen

Nyt asennamme verkkokehyksemme: Meteor.js. Käytämme Meteor-tiimin toimittamaa yksinkertaista bash-skriptiä sen asentamiseen.

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

Odota asennuksen päättymistä. Pohjimmiltaan skripti lataa Meteorin viralliselta verkkosivustolta ja asentaa sen maailmanlaajuisesti, jotta voimme käyttää sitä missä tahansa. Kun se on valmis, voimme luoda sovellushakemistomme. Meteorilla on kätevä pieni työkalu, jota voimme käyttää siihen, nimeltä meteor create. Luo sovellushakemisto kirjoittamalla seuraava.

meteor create <projectname>

Kansio luodaan määritetyllä nimellä ( <projectname>).

Asetetaan Apache-käänteisvälityspalvelinta

Nyt kun sovellushakemistomme on määritetty, voimme jatkaa käänteisen välityspalvelimen määrittämistä. Apache käyttää moduulia nimeltä mod_proxy, joka toteuttaa Apachelle välityspalvelimen.

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

Tämä asentaa moduulin ja antaa sen Apachen käytettäväksi.

Seuraavaksi meidän on otettava käyttöön kaikki tarvittavat moduulit, joita Apache tarvitsee suorittaa. Teemme tämän a2enmodtyökalulla, joka mahdollistaa moduulit Apachelle. Näiden moduulien avulla voimme hyödyntää käänteistä välityspalvelinta. Kirjoita nämä komennot päätteeseen.

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

Sen jälkeen meidän on estettävä oletusarvoisen Apache-sivuston käynnistyminen, jotta voimme käynnistää oman. Muussa tapauksessa oletusarvoinen Apache-sovellus ohittaa meidän. Voit poistaa oletussivuston käytöstä suorittamalla seuraavan komennon.

sudo a2dissite 000-default

Nyt luomme virtuaalisen isäntätiedoston. Voit tehdä sen avaamalla tekstieditorin.

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

Kopioi ja liitä seuraava.

<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: Käskee Apachea kytkeytymään porttiin 80, jonka haluamme verkkosovelluksellemme.

  • ProxyPass: Sen sivuston IP-osoite, jonka haluat välittää käänteiselle välityspalvelimelle. Tämä on todennäköisesti VPS:si IP-osoite

  • ServerName: Palvelimesi nimi (oletusnimi on yleensä localhost).

Kun olet määrittänyt tarvittavat asetukset, käytä " Control-O" tallentaaksesi ja " Control-X" poistuaksesi.

Sivuston käyttäminen ensimmäistä kertaa

Testaaksesi ja varmistaaksesi, että verkkosivusto on käynnissä, kirjoita seuraava projektihakemistoon.

meteor

Näet seuraavan tulosteen, joka osoittaa, että sivustosi on käynnistynyt onnistuneesti.

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

Huomaa, että Meteor kuuntelee oletusarvoisesti port 3000.

Sivustomme asettaminen tuotantoa varten

Varmistaaksemme, että sovelluksemme voi pysyä käynnissä, käytämme järjestelmäpalvelua. Samoin kuin teimme yllä MongoDB:n kanssa, tämä järjestelmäpalvelu varmistaa, että verkkosivustomme käynnistyy aina, kun järjestelmämme käynnistyy, ja pysyy käynnissä. Se käynnistää myös sovelluksemme uudelleen, jos se kaatuu jostain syystä. Asettaaksesi järjestelmäpalvelumme, kirjoita seuraava terminaaliin.

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

Tältä haluat tiedostosi näyttävän.

[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

Huomautus : Muista korvata projectnamese projektin nimellä ja yourusernameVPS:n käyttäjätunnuksella.

Tässä on joitain avainlinjoja, jotka sinun tulee pitää mielessä.

  • WorkingDirectory: Sovelluksesi hakemisto.

  • Restart: Käynnistetäänkö uudelleen vai ei, sovellus pysähtyy mistä tahansa syystä.

  • User: Sinun käyttäjä nimesi.

  • Environment=PWD: Sama kuin WorkingDirectory.

  • Environment=PORT: Portti, jossa sovelluksesi on käynnissä. Oletus on 3000.

Tallenna ja sulje tiedosto.

Nyt otamme palvelun käyttöön ja käynnistämme sen.

sudo systemctl enable <projectname>.service

Missä <projectname>on luomamme palvelutiedoston nimi.

Sitten aloitamme palvelun.

sudo systemctl start <projectname>.service

Hakemuksesi alkaa. Varmista, että se on käynnistynyt, suorittamalla seuraava.

sudo systemctl status <projectname>

Näet, että se on aktiivinen ja varmistaa, että palvelu on käynnistynyt onnistuneesti.

Seuraavaksi tutustumme nettisivuihimme. Siirry valitsemassasi verkkoselaimessa IP-osoitteeseesi.

http://your-server-ip/

Näet Meteor-näytenäytön, joka vahvistaa, että olet tehnyt kaiken oikein.

Sovelluksemme hallinta

Nyt kun olemme käynnistäneet sovelluksemme, meidän on hallittava sitä.

Sovellusta käynnistetään uudelleen

sudo systemctl restart <projectname>

Sovelluksen pysäyttäminen

sudo systemctl stop <projectname>

Sovelluksen tilan tarkastelu

sudo systemctl status <projectname>

Lokien katselu

journalctl -u <projectname>

Olet nyt onnistuneesti määrittänyt MongoDB:n, Apachen ja Meteorin ja luonut Meteor.js-verkkopalvelimen tuotantoa varten. Nyt loput on sinun tehtäväsi: voit suunnitella verkkosivustosi etu- ja takaosaan. Sinulla on pääsy MongoDB:hen tallentaaksesi kaikki tarvitsemasi tiedot, ja Node.js:ään, joka tarjoaa useita Node Package Managerin ( NPM) kautta saatavia moduuleja taustajärjestelmän vahvistamiseksi entisestään. Saat lisätietoja vierailemalla Meteor-sivustolla , jossa voit oppia lisää räätälöimään verkkosivustoasi mieleiseksesi. Voit myös viitata MongoDB-dokumentaatioon , kun käsittelet tietokantatoimintoja.


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Asenna Cacti Debian Jessielle

Asenna Cacti Debian Jessielle

Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Johdanto Lets Encrypt on varmenteen myöntäjäpalvelu, joka tarjoaa ilmaisia ​​TLS/SSL-varmenteita. Certbot yksinkertaistaa asennusprosessia,

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Käytätkö erilaista järjestelmää? Mikä on Tekkit Classic? Tekkit Classic on modack peliin, jonka kaikki tuntevat ja rakastavat; Minecraft. Se sisältää joitain ver

Asenna iRedMail Debian Wheezylle

Asenna iRedMail Debian Wheezylle

Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua

Jekyll-blogin luominen Ubuntuun 16.04

Jekyll-blogin luominen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP ja siihen liittyvät paketit ovat yleisimmin käytettyjä komponentteja verkkopalvelimen käyttöönotossa. Tässä artikkelissa opimme asentamaan PHP 7.0 tai PHP 7.1 o

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

1. Virtualmin/Webmin Virtualmin on tehokas ja joustava web-hosting-ohjauspaneeli Linux- ja UNIX-järjestelmille, joka perustuu tunnettuun avoimen lähdekoodin verkkotietokantaan

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii on PHP-kehys, jonka avulla voit kehittää sovelluksia nopeammin ja helpommin. Yiin asentaminen Ubuntuun on yksinkertaista, kuten opit tarkalleen

Näytön käyttö Ubuntu 14.04:ssä

Näytön käyttö Ubuntu 14.04:ssä

Screen on sovellus, joka mahdollistaa usean pääteistuntojen käytön yhdessä ikkunassa. Tämän avulla voit simuloida useita pääteikkunoita, joissa se ma

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th

Logrotaten käyttäminen lokitiedostojen hallintaan

Logrotaten käyttäminen lokitiedostojen hallintaan

Johdanto Logrotate on Linux-apuohjelma, joka yksinkertaistaa lokitiedostojen hallintaa. Se toimii yleensä kerran päivässä cron-työn kautta ja hallitsee lokipohjaa

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Asenna Red5 Media Server Ubuntu 16.04:ään

Asenna Red5 Media Server Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Red5 on Java-kielellä toteutettu avoimen lähdekoodin mediapalvelin, jonka avulla voit ajaa Flash-monikäyttäjäsovelluksia, kuten suoratoistoa.

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja