Hoe een Meteor.js-webtoepassing in te stellen met MongoDB en Apache op Ubuntu 16.04 LTS

Meteor.js is een open-source JavaScript-framework geschreven met Node.js in gedachten. Het is populair vanwege zijn kijk op het bouwen van webapplicaties in puur JavaScript. Meteor bevat front-end JavaScript-ondersteuning die in de webbrowser wordt uitgevoerd, evenals back-end JavaScript, dat op de hostserver zou worden uitgevoerd. Het integreert heel goed met front-end JavaScript-frameworks, zoals React en Angular.js, evenals MongoDB, een populaire NoSQL-database. Een paar grote redenen om voor Meteor.js te kiezen zijn als volgt:

  • Meteor.js is een volledig stack-framework. U krijgt er dus alles mee wat u nodig heeft: database, front-end, back-end. Meteor doet geweldig werk om alles samen te binden.

  • Snelheid. Het intuïtieve pakketsysteem van Meteor biedt u veel tools die u mogelijk nodig heeft om uw toepassing te perfectioneren.

  • Het wordt goed ondersteund door de Meteor Developer Group en door andere ontwikkelaars die het gebruiken. U kunt gemakkelijk eventuele problemen achterhalen en deze snel oplossen.

In deze tutorial zullen we de volgende doelen bereiken op Ubuntu 16.04:

  • Installeer Node.js, onze Javascript-runtime.

  • Installeer Meteor.js.

  • Installeer MongoDB, Meteor's database naar keuze.

  • Installeer Apache, onze omgekeerde proxy naar keuze, en stel ons domein in, indien van toepassing.

  • Test onze website.

  • Stel onze website in voor productie.

Node.js installeren

U moet eerst Node.js installeren, onze JavaScript-interpreter en de kern van Meteor. Hiermee kunnen we Meteor en andere Node.js-applicaties die we in de toekomst hebben, uitvoeren. In deze situatie zullen we Node.js 8 installeren. Om de download te starten, voert u eenvoudig het volgende uit in uw terminal.

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

Wacht tot het downloaden en installeren is voltooid.

MongoDB installeren

Vervolgens installeren we onze database: MongoDB. MongoDB is een gratis, open-source NoSQL-documentendatabase en de Meteor-database naar keuze. Het gebruikt een JSON-achtige indeling voor zijn documenten, in tegenstelling tot gestructureerde tabellen in een traditionele SQL-database.

Importeer de openbare MongoDB-sleutel die wordt gebruikt door APT(Advanced Packaging Terminal). Hierdoor kan APT het pakket verifiëren; in dit geval MongoDB.

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

Maak het benodigde lijstbestand voor 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

Start de installatie van MongoDB en wacht tot de installatie is voltooid.

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

Open de systemd-service om te bewerken.

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

Kopieer en plak het volgende om de systemd-service te voltooien.

[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

Gebruik " Control-O" om op te slaan en " Control-X" om af te sluiten.

Voer de MongoDB systemd-service uit door sudo systemctl start mongodbuw terminal in te typen .

Typ het volgende om te controleren of het succesvol is begonnen.

sudo systemctl status mongodb

Je zult zien dat de dienst actief is.

Apache2 installeren en instellen

Vervolgens installeren we Apache. Apache is een gratis en open source webserversoftware, die ook werkt als een reverse proxy, wat we in deze tutorial zullen gebruiken. Een reverse proxy is nodig om onze Meteor.js-applicatie te binden port 80. Node.js blokkeert dat applicaties op die poort draaien zonder root-toegang. Apache werkt zowel rootautomatisch als bindt port 80eraan, dus we hoeven ons er geen zorgen over te maken als het tijd is om onze website te gebruiken.

Installeer Apache.

sudo apt update && sudo apt install apache2

Om toegang te verlenen tot externe webpoorten zoals port 80, moeten we onze firewall configureren voor Apache. We doen dit via UFW(Uncomplicated Firewall).

sudo ufw allow 'Apache Full'

Dit geeft toegang tot het " Apache Full" profiel. Dit geeft ons het inkomende verkeer naar port 80, en dat is waar onze applicatie op draait.

Meteor.js installeren en onze basistoepassing maken

Nu zullen we ons webframework installeren: Meteor.js. We zullen een eenvoudig bash-script gebruiken dat door het Meteor-team is geleverd om het te installeren.

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

Wacht tot de installatie is voltooid. Wat het script eigenlijk doet, is dat het Meteor downloadt van de officiële website en het wereldwijd installeert, zodat we het overal kunnen gebruiken. Als het klaar is, kunnen we onze toepassingsmap maken. Meteor heeft een handig hulpmiddel waarmee we dat kunnen doen, genaamd meteor create. Typ het volgende om uw toepassingsmap te maken.

meteor create <projectname>

De map wordt gemaakt met de opgegeven naam ( <projectname>).

Het opzetten van onze Apache reverse proxy

Nu we onze toepassingsmap hebben ingesteld, kunnen we doorgaan met het instellen van onze reverse proxy. Apache gebruikt een module genaamd mod_proxy, die een proxy voor Apache implementeert.

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

Hiermee wordt de module geïnstalleerd en beschikbaar gemaakt voor Apache.

Vervolgens moeten we alle benodigde modules inschakelen die Apache nodig heeft. We zullen dit doen met a2enmod, een tool die modules voor Apache mogelijk maakt. Met deze modules kunnen we profiteren van de reverse proxy. Typ deze opdrachten eenvoudig in uw 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

Daarna moeten we uitschakelen dat de standaard Apache-site opstart, zodat we onze eigen kunnen opstarten. Anders zal de standaard Apache-applicatie de onze overschrijven. Voer het volgende uit om de standaardsite uit te schakelen.

sudo a2dissite 000-default

Nu zullen we ons virtuele hostbestand maken. Open hiervoor een teksteditor.

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

Kopieer en plak het volgende.

<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: Vertelt Apache om verbinding te maken met poort 80, wat we willen voor onze webapplicatie.

  • ProxyPass: Het IP-adres van de site die u wilt doorsturen naar de reverse proxy. Dit zal hoogstwaarschijnlijk het IP-adres van je VPS zijn

  • ServerName: De naam van uw server (de standaardnaam is meestal localhost).

Als u klaar bent met het configureren van de benodigde instellingen, gebruikt u " Control-O" om op te slaan en " Control-X" om af te sluiten.

De site voor het eerst uitvoeren

Typ het volgende in de projectdirectory om te testen en ervoor te zorgen dat de website actief is.

meteor

U zult de volgende output zien die laat zien dat uw site succesvol is gestart.

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

Houd er rekening mee dat Meteor standaard luistert port 3000.

Het opzetten van onze website voor productie

Om er zeker van te zijn dat onze app kan blijven draaien, gebruiken we een systemd service. Net als wat we hierboven met MongoDB hebben gedaan, zorgt deze systeemservice ervoor dat onze website wordt opgestart wanneer ons systeem opstart en blijft draaien. Het zal ook onze applicatie herstarten, in het geval dat het om welke reden dan ook crasht. Typ het volgende in uw terminal om onze systemd-service in te stellen.

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

Hier ziet u hoe uw bestand eruit moet zien.

[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

Opmerking : vergeet niet te vervangen projectnamedoor de naam van het project en yourusernamedoor de gebruikersnaam van de VPS.

Hier zijn enkele belangrijke regels waarmee u rekening moet houden.

  • WorkingDirectory: De directory van uw applicatie.

  • Restart: Het al dan niet opnieuw starten van de toepassing ervan stopt om welke reden dan ook.

  • User: Je gebruikersnaam.

  • Environment=PWD: Identiek aan WorkingDirectory.

  • Environment=PORT: De poort waarop uw applicatie draait. De standaard is 3000.

Sla het bestand op en sluit het.

Nu zullen we de service inschakelen en starten.

sudo systemctl enable <projectname>.service

Waar <projectname>is de naam van het servicebestand dat we hebben gemaakt.

Vervolgens starten we de service.

sudo systemctl start <projectname>.service

Uw aanvraag begint. Voer het volgende uit om te controleren of het is gestart.

sudo systemctl status <projectname>

U zult zien dat het actief is en controleert of de service met succes is gestart.

Vervolgens zullen we onze website bekijken. Navigeer in uw webbrowser naar uw IP-adres.

http://your-server-ip/

U ziet het Meteor-voorbeeldscherm om te verifiëren dat u alles correct hebt gedaan.

Beheer van onze applicatie

Nu we onze applicatie zijn gestart, moeten we deze beheren.

Je applicatie herstarten

sudo systemctl restart <projectname>

De applicatie stoppen

sudo systemctl stop <projectname>

De status van de applicatie bekijken

sudo systemctl status <projectname>

De logboeken bekijken

journalctl -u <projectname>

U hebt nu met succes MongoDB, Apache en Meteor geconfigureerd en een Meteor.js-webserver gemaakt voor productie. Nu is de rest aan u om uw website aan de voorkant en de achterkant te ontwerpen. Je hebt toegang tot MongoDB om alle gegevens die je nodig hebt op te slaan, en Node.js, dat een verscheidenheid aan modules biedt die beschikbaar zijn via Node Package Manager ( NPM) om je backend verder te versterken. Bezoek voor meer documentatie de Meteor-site , waar u verder kunt leren hoe u uw website naar wens kunt aanpassen. U kunt ook verwijzen naar de MongoDB-documentatie wanneer u te maken hebt met databasebewerkingen.



Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.