Veebirakenduse Meteor.js seadistamine MongoDB ja Apacheiga Ubuntu 16.04 LTS-is

Meteor.js on avatud lähtekoodiga JavaScripti raamistik, mis on kirjutatud Node.js-i silmas pidades. See on populaarne, kuna sellel on vaade veebirakenduste loomisele puhtas JavaScriptis. Meteor sisaldab esiotsa JavaScripti tuge, mis töötab veebibrauseris, aga ka tagaotsa JavaScripti, mis töötaks hostiserveris. See integreerub väga hästi esiotsa JavaScripti raamistikega, nagu React ja Angular.js, samuti populaarse NoSQL-i andmebaasiga MongoDB. Mõned olulised põhjused, miks valida Meteor.js, on järgmised.

  • Meteor.js on täielik virnaraamistik. Sellega saate kõik, mida vajate: andmebaas, esiots, taustaprogramm. Meteor teeb selle kõik kokku sidudes suurepärase töö.

  • Kiirus. Meteori intuitiivne paketisüsteem annab teile palju tööriistu, mida võib vaja minna rakenduse täiustamiseks.

  • Sellel on hea tugi nii Meteor Developer Groupilt kui ka teistelt arendajatelt, kes seda kasutavad. Saate hõlpsasti välja selgitada kõik võimalikud probleemid ja need kiiresti lahendada.

Selles õpetuses saavutame Ubuntu 16.04 jaoks järgmised eesmärgid:

  • Installige Node.jsmeie Javascripti käitusaeg.

  • Installige Meteor.js.

  • Installige MongoDB, Meteori andmebaas.

  • Installige Apache, meie valitud vastupidine puhverserver, ja seadistage vajadusel meie domeen.

  • Testige meie veebisaiti.

  • Seadistage meie veebisait tootmiseks.

Node.js installimine

Esmalt peate installima Node.js-i, mis on meie JavaScripti tõlk ja Meteori tuum. See võimaldab meil käitada Meteorit ja muid Node.js-i rakendusi, mis meil tulevikus võivad olla. Sellises olukorras installime Node.js 8. Allalaadimise alustamiseks käivitage oma terminalis lihtsalt järgmine toiming.

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

Oodake, kuni allalaadimine ja installimine on lõpule viidud.

MongoDB installimine

Järgmisena installime oma andmebaasi: MongoDB. MongoDB on tasuta avatud lähtekoodiga NoSQL-i dokumentide andmebaas ja Meteori valitud andmebaas. See kasutab oma dokumentide jaoks JSON-laadset vormingut, erinevalt traditsioonilise SQL-andmebaasi struktureeritud tabelitest.

Importige MongoDB avalik võti, mida kasutab APT(Advanced Packaging Terminal). See võimaldab APT-l paketti kontrollida; antud juhul MongoDB.

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

Looge Ubuntu 16.04 jaoks vajalik loendifail.

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

Käivitage MongoDB installimine ja oodake, kuni installimine lõpeb.

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

Avage redigeerimiseks systemd-teenus.

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

Süsteemiteenuse lõpuleviimiseks kopeerige ja kleepige järgmine.

[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

Kasutage Control-Osalvestamiseks " Control-X" ja väljumiseks " ".

Käivitage MongoDB systemd teenus, tippides sudo systemctl start mongodboma terminali.

Selle eduka käivitamise kontrollimiseks tippige järgmine.

sudo systemctl status mongodb

Näete, et teenus on aktiivne.

Apache2 installimine ja seadistamine

Järgmisena installime Apache. Apache on tasuta ja avatud lähtekoodiga veebiserveri tarkvara, mis toimib ka pöördpuhverserverina, mida me selles õpetuses kasutame. Meie rakenduse Meteor.js sidumiseks rakendusega on vaja pöördpuhverserverit port 80. Node.js blokeerib rakenduste töötamise selles pordis ilma juurjuurdepääsuta. Apache töötab nii rootautomaatselt kui ka seostub rakendusega port 80, nii et me ei pea selle pärast muretsema, kui on aeg oma veebisaiti käitada.

Installige Apache.

sudo apt update && sudo apt install apache2

Selleks, et võimaldada juurdepääsu välistele veebiportidele, nagu port 80, peame konfigureerima oma tulemüüri Apache jaoks. Teeme seda UFW(komplitseerimata tulemüüri) kaudu.

sudo ufw allow 'Apache Full'

See võimaldab juurdepääsu Apache Fullprofiilile " ". See annab meile sissetuleva liikluse aadressile port 80, millel meie rakendus töötab.

Meteor.js installimine ja meie baasrakenduse loomine

Nüüd installime oma veebiraamistiku: Meteor.js. Selle installimiseks kasutame Meteori meeskonna pakutavat lihtsat bash-skripti.

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

Oodake installimise lõppu. Põhimõtteliselt laadib skript alla Meteori ametlikult veebisaidilt ja installib selle globaalselt, et saaksime seda kõikjal kasutada. Kui see on lõpetatud, saame luua oma rakenduste kataloogi. Meteoril on selleks väike mugav tööriist nimega meteor create. Rakenduste kataloogi loomiseks tippige järgmine.

meteor create <projectname>

Kaust luuakse määratud nimega ( <projectname>).

Meie Apache'i pöördpuhverserveri seadistamine

Nüüd, kui oleme oma rakenduste kataloogi seadistanud, saame jätkata pöördpuhverserveri seadistamisega. Apache kasutab moodulit nimega mod_proxy, mis rakendab Apache'i puhverserverit.

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

See installib mooduli ja teeb selle Apache'i jaoks kasutamiseks kättesaadavaks.

Järgmisena peame lubama kõik vajalikud moodulid, mida Apache vajab. Teeme seda a2enmodtööriistaga , mis lubab Apache mooduleid. Need moodulid võimaldavad meil ära kasutada pöördpuhverserverit. Sisestage need käsud lihtsalt oma terminali.

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ärast seda peame Apache'i vaikesaidil käivitamise keelama, et saaksime oma käivitada. Vastasel juhul alistab Apache vaikerakendus meie oma. Vaikesaidi keelamiseks käivitage lihtsalt järgmine.

sudo a2dissite 000-default

Nüüd loome oma virtuaalse hostifaili. Selleks avage lihtsalt tekstiredaktor.

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

Kopeerige ja kleepige järgmine.

<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äsib Apache'il ühendada pordiga 80, mida me oma veebirakenduse jaoks tahame.

  • ProxyPass: selle saidi IP-aadress, mille soovite pöördpuhverserverile edastada. See on tõenäoliselt teie VPS-i IP

  • ServerName: teie serveri nimi (vaikenimi on tavaliselt localhost).

Kui olete kõik vajalikud seaded konfigureerinud, kasutage Control-Osalvestamiseks " Control-X" ja väljumiseks " ".

Saidi käivitamine esimest korda

Veebisaidi testimiseks ja töötamises veendumiseks tippige projekti kataloogi järgmine tekst.

meteor

Näete järgmist väljundit, mis näitab, et teie sait on edukalt käivitunud.

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

Pange tähele, et Meteor kuulab vaikimisi sisse port 3000.

Meie veebisaidi seadistamine tootmiseks

Selleks, et meie rakendus saaks edasi töötada, kasutame süsteemset teenust. Sarnaselt sellega, mida tegime ülal MongoDB-ga, tagab see süsteemiteenus, et meie veebisait käivitub alati, kui meie süsteem käivitub, ja jääb tööle. Samuti taaskäivitab see meie rakenduse, kui see mingil põhjusel kokku jookseb. Meie süsteemiteenuse seadistamiseks tippige oma terminali järgmine tekst.

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

Siin on see, kuidas soovite oma faili välja näha.

[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

Märkus . Ärge unustage asendada projectnameprojekti nimega ja yourusernameVPS-i kasutajanimega.

Siin on mõned põhijooned, mida meeles pidada.

  • WorkingDirectory: teie rakenduse kataloog.

  • Restart: kas taaskäivitada või mitte, selle rakendus peatub mingil põhjusel.

  • User: Sinu kasutajanimi.

  • Environment=PWD: identne WorkingDirectory.

  • Environment=PORT: port, millel teie rakendus töötab. Vaikimisi on 3000.

Salvestage ja sulgege fail.

Nüüd lubame ja käivitame teenuse.

sudo systemctl enable <projectname>.service

Kus <projectname>on meie loodud teenusefaili nimi.

Seejärel alustame teenust.

sudo systemctl start <projectname>.service

Teie rakendus käivitub. Käivitamise kontrollimiseks käivitage lihtsalt järgmine toiming.

sudo systemctl status <projectname>

Näete, et see on aktiivne, kinnitades, et teenus on edukalt käivitunud.

Järgmisena vaatame meie veebisaiti. Liikuge valitud veebibrauseris oma IP-aadressile.

http://your-server-ip/

Näete Meteori näidisekraani, mis kinnitab, et olete kõik õigesti teinud.

Meie rakenduse haldamine

Nüüd, kui oleme oma rakenduse käivitanud, peame seda haldama.

Rakenduse taaskäivitamine

sudo systemctl restart <projectname>

Rakenduse peatamine

sudo systemctl stop <projectname>

Rakenduse oleku vaatamine

sudo systemctl status <projectname>

Logide vaatamine

journalctl -u <projectname>

Olete nüüd edukalt konfigureerinud MongoDB, Apache ja Meteori ning loonud tootmiseks veebiserveri Meteor.js. Nüüd on ülejäänu teie otsustada, oma veebisaidi esi- ja tagaosa kujundamine. Teil on juurdepääs MongoDB-le, et salvestada vajalikke andmeid, ja Node.js-ile, mis pakub mitmesuguseid mooduleid, mis on saadaval Node Package Manageri ( NPM) kaudu, et teie taustaprogrammi veelgi tugevdada. Täiendava dokumentatsiooni saamiseks külastage Meteori saiti , kust saate lisateavet, kuidas oma veebisaiti oma maitse järgi kohandada. Samuti võite andmebaasitoimingutega tegelemisel viidata MongoDB dokumentatsioonile .


Seadistage Cacti Debian Jessies

Seadistage Cacti Debian Jessies

Sissejuhatus Cacti on avatud lähtekoodiga seire- ja graafikutööriist, mis põhineb täielikult RRD andmetel. Cacti kaudu saate jälgida peaaegu igat tüüpi seadmeid

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Sissejuhatus Lets Encrypt on sertifikaatide väljastamise teenus, mis pakub tasuta TLS/SSL-sertifikaate. Paigaldusprotsessi lihtsustab Certbot,

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Kas kasutate teistsugust süsteemi? Mis on Tekkit Classic? Tekkit Classic on modifikatsioonipakett mängule, mida kõik teavad ja armastavad; Minecraft. See sisaldab mõningaid ver

Seadistage iRedMail Debian Wheezys

Seadistage iRedMail Debian Wheezys

Kas kasutate teistsugust süsteemi? See õpetus näitab teile, kuidas installida grupitöö iRedMail Debian Wheezy värskele installile. Peaksite kasutama servi

Jekylli ajaveebi loomine Ubuntus 16.04

Jekylli ajaveebi loomine Ubuntus 16.04

Kas kasutate teistsugust süsteemi? Jekyll on suurepärane alternatiiv WordPressile ajaveebi pidamiseks või sisu jagamiseks. See ei nõua andmebaase ja see on väga lihtne

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP ja sellega seotud paketid on veebiserveri juurutamisel kõige sagedamini kasutatavad komponendid. Selles artiklis õpime, kuidas seadistada PHP 7.0 või PHP 7.1 o

Kuidas installida CentOS-i Squid Proxy

Kuidas installida CentOS-i Squid Proxy

Squid on populaarne tasuta Linuxi programm, mis võimaldab teil luua edastamise veebipuhverserveri. Selles juhendis näete, kuidas installida Squid CentOS-i, et teid pöörata

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Sissejuhatus Lighttpd on Apache'i hark, mille eesmärk on olla palju vähem ressursimahukas. See on kerge, sellest ka oma nimi, ja seda on üsna lihtne kasutada. Installin

Kolm tasuta serveri juhtpaneeli (kiire installimine)

Kolm tasuta serveri juhtpaneeli (kiire installimine)

1. Virtualmin/Webmin Virtualmin on võimas ja paindlik veebimajutuse juhtpaneel Linuxi ja UNIX süsteemidele, mis põhineb tuntud avatud lähtekoodiga veebibaasil

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii on PHP raamistik, mis võimaldab teil rakendusi kiiremini ja lihtsamalt arendada. Yii installimine Ubuntule on lihtne, nagu saate täpselt teada

Ekraani kasutamine Ubuntu 14.04-s

Ekraani kasutamine Ubuntu 14.04-s

Ekraan on rakendus, mis võimaldab ühes aknas mitut terminaliseanssi kasutada. See võimaldab simuleerida mitut terminali akent, kus see ma

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Logrotate kasutamine logifailide haldamiseks

Logrotate kasutamine logifailide haldamiseks

Sissejuhatus Logrotate on Linuxi utiliit, mis lihtsustab logifailide haldamist. Tavaliselt töötab see kord päevas cron-töö kaudu ja haldab logibaasi

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 on võimas seiresüsteem ja kui seda kasutatakse põhikliendi mudelis, võib see asendada vajaduse NRPE-põhiste seirekontrollide järele. Meister-klient

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Kas kasutate teistsugust süsteemi? Red5 on Java-s realiseeritud avatud lähtekoodiga meediumiserver, mis võimaldab käivitada mitme kasutajaga Flashi rakendusi, näiteks otseülekandeid.

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit