Come installare unapplicazione Web Meteor.js con MongoDB e Apache su Ubuntu 16.04 LTS

Meteor.js è un framework JavaScript open source scritto pensando a Node.js. È popolare per la sua visione della creazione di applicazioni web in puro JavaScript. Meteor incorpora il supporto JavaScript front-end che viene eseguito nel browser Web, nonché JavaScript back-end, che verrebbero eseguiti sul server host. Si integra molto bene con i framework JavaScript front-end, come React e Angular.js, nonché MongoDB, un popolare database NoSQL. Alcuni grandi motivi per scegliere Meteor.js sono i seguenti:

  • Meteor.js è un framework full stack. Quindi, con esso, ottieni tutto ciò di cui potresti aver bisogno: database, front-end, back-end. Meteor fa un ottimo lavoro nel legare tutto insieme.

  • Velocità. L'intuitivo sistema di pacchetti di Meteor offre molti strumenti necessari per perfezionare l'applicazione.

  • Ha un buon supporto da parte del gruppo di sviluppatori Meteor e di altri sviluppatori che lo utilizzano. Sarai facilmente in grado di capire eventuali problemi che potresti avere e risolverli rapidamente.

In questo tutorial, raggiungeremo i seguenti obiettivi su Ubuntu 16.04:

  • Installa Node.js, il nostro runtime Javascript.

  • Installa Meteor.js.

  • Installa MongoDB, il database di Meteor preferito.

  • Installa Apache, il nostro proxy inverso di nostra scelta e imposta il nostro dominio, se applicabile.

  • Prova il nostro sito Web.

  • Imposta il nostro sito Web per la produzione.

Installazione di Node.js

Devi prima installare Node.js, che è il nostro interprete JavaScript e il nucleo di Meteor. Ci consentirà di eseguire Meteor e altre applicazioni Node.js che potremmo avere in futuro. In questa situazione, installeremo Node.js 8. Per avviare il download, esegui semplicemente quanto segue nel tuo terminale.

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

Attendere il completamento del download e dell'installazione.

Installazione di MongoDB

Successivamente, installeremo il nostro database: MongoDB. MongoDB è un database di documenti NoSQL gratuito e open source e il database preferito di Meteor. Utilizza un formato simile a JSON per i suoi documenti, al contrario delle tabelle strutturate in un database SQL tradizionale.

Importare la chiave pubblica MongoDB utilizzata da APT(Advanced Packaging Terminal). Ciò consente ad APT di verificare il pacchetto; in questo caso, MongoDB.

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

Creare il file di elenco necessario per 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

Avviare l'installazione di MongoDB e attendere il completamento dell'installazione.

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

Aprire il servizio systemd per la modifica.

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

Copia e incolla quanto segue per completare il servizio systemd.

[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

Utilizzare " Control-O" per salvare e " Control-X" per uscire.

Esegui il servizio MongoDB systemd digitando il sudo systemctl start mongodbtuo terminale.

Per verificare che sia stato avviato correttamente, digitare quanto segue.

sudo systemctl status mongodb

Vedrai che il servizio è attivo.

Installazione e configurazione di Apache2

Successivamente, installeremo Apache. Apache è un software server Web gratuito e open source, che funge anche da proxy inverso, che è ciò che utilizzeremo in questo tutorial. È necessario un proxy inverso per associare la nostra applicazione Meteor.js port 80. Node.js blocca l'esecuzione delle applicazioni su quella porta senza accesso root. Apache viene eseguito rootautomaticamente e si lega port 80, quindi non dovremo preoccuparci quando arriva il momento di eseguire il nostro sito Web.

Installa Apache.

sudo apt update && sudo apt install apache2

Per consentire l'accesso a porte Web esterne come port 80, dobbiamo configurare il nostro firewall per Apache. Lo facciamo attraverso UFW(Firewall semplice).

sudo ufw allow 'Apache Full'

Ciò consentirà l'accesso al Apache Fullprofilo " ". Questo ci dà il traffico in entrata port 80, che è ciò su cui verrà eseguita la nostra applicazione.

Installazione di Meteor.js e creazione della nostra applicazione di base

Ora installeremo il nostro framework Web: Meteor.js. Useremo un semplice script bash fornito dal team Meteor per installarlo.

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

Attendere il completamento dell'installazione. Fondamentalmente ciò che fa lo script è che scarica Meteor dal sito Web ufficiale e lo installa a livello globale, quindi possiamo usarlo da qualsiasi luogo. Una volta terminato, possiamo creare la nostra directory dell'applicazione. Meteor ha un piccolo strumento utile da usare per farlo, chiamato meteor create. Per creare la directory dell'applicazione, digitare quanto segue.

meteor create <projectname>

La cartella verrà creata con il nome specificato ( <projectname>).

Configurare il nostro proxy inverso Apache

Ora che abbiamo impostato la nostra directory dell'applicazione, possiamo procedere con l'impostazione del nostro proxy inverso. Apache utilizza un modulo chiamato mod_proxy, che implementa un proxy per Apache.

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

Questo installerà il modulo e lo renderà disponibile per l'utilizzo da parte di Apache.

Successivamente, dovremo abilitare tutti i moduli necessari che Apache deve eseguire. Lo faremo con a2enmoduno strumento che abilita i moduli per Apache. Questi moduli ci consentiranno di sfruttare il proxy inverso. Digita semplicemente questi comandi nel tuo terminale.

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

Successivamente, dovremo disabilitare l'avvio del sito Apache predefinito, in modo da poter avviare il nostro. Altrimenti, l'applicazione Apache predefinita sovrascriverà la nostra. Per disabilitare il sito predefinito, eseguire semplicemente quanto segue.

sudo a2dissite 000-default

Ora creeremo il nostro file host virtuale. Per farlo, basta aprire un editor di testo.

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

Copia e incolla quanto segue.

<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: Dice ad Apache di collegarsi alla porta 80, che è ciò che vogliamo per la nostra applicazione web.

  • ProxyPass: L'indirizzo IP del sito che si desidera inoltrare al proxy inverso. Molto probabilmente questo sarà l'IP del tuo VPS

  • ServerName: Il nome del tuo server (il nome predefinito è di solito localhost).

Una volta terminata la configurazione delle impostazioni necessarie, utilizzare " Control-O" per salvare e " Control-X" per uscire.

Esecuzione del sito per la prima volta

Per verificare e assicurarsi che il sito Web sia in esecuzione, digitare quanto segue nella directory del progetto.

meteor

Vedrai il seguente output che mostra che il tuo sito è stato avviato correttamente.

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

Prendi nota che Meteor, per impostazione predefinita, ascolta port 3000.

Impostazione del nostro sito Web per la produzione

Per assicurarci che la nostra app sia in grado di funzionare, utilizzeremo un servizio systemd. Simile a quello che abbiamo fatto sopra con MongoDB, questo servizio di sistema farà in modo che il nostro sito Web si avvii ogni volta che il nostro sistema viene avviato e rimanga attivo. Riavvia anche la nostra applicazione, nel caso in cui si blocchi per qualsiasi motivo. Per configurare il nostro servizio systemd, digitare quanto segue nel terminale.

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

Ecco come si desidera che il tuo file assomigli.

[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

Nota : non dimenticare di sostituire projectnamecon il nome del progetto e yourusernamecon il nome utente del VPS.

Ecco alcune linee chiave da tenere a mente.

  • WorkingDirectory: La directory della tua applicazione.

  • Restart: Se riavviare l'applicazione si interrompe o meno per qualsiasi motivo.

  • User: Il tuo nome utente.

  • Environment=PWD: Identico a WorkingDirectory.

  • Environment=PORT: La porta su cui è in esecuzione l'applicazione. L'impostazione predefinita è 3000.

Salva e chiudi il file.

Ora abiliteremo e avvieremo il servizio.

sudo systemctl enable <projectname>.service

Dov'è <projectname>il nome del file di servizio che abbiamo creato.

Quindi, inizieremo il servizio.

sudo systemctl start <projectname>.service

La tua applicazione verrà avviata. Per verificare che sia stato avviato, eseguire quanto segue.

sudo systemctl status <projectname>

Vedrai che è attivo, verificando che il servizio sia stato avviato correttamente.

Successivamente, controlleremo il nostro sito Web. Nel tuo browser preferito, vai al tuo indirizzo IP.

http://your-server-ip/

Vedrai la schermata di esempio Meteor, verificando di aver fatto tutto correttamente.

Gestire la nostra applicazione

Ora che abbiamo avviato la nostra applicazione, dovremo gestirla.

Riavvio dell'applicazione

sudo systemctl restart <projectname>

Arresto dell'applicazione

sudo systemctl stop <projectname>

Visualizzazione dello stato dell'applicazione

sudo systemctl status <projectname>

Visualizzazione dei registri

journalctl -u <projectname>

Ora hai configurato correttamente MongoDB, Apache e Meteor e hai creato un server web Meteor.js per la produzione. Ora il resto dipende da te, per progettare il tuo sito Web sul front-end e sul back-end. Hai accesso a MongoDB per archiviare tutti i dati di cui potresti aver bisogno, e Node.js, che offre una varietà di moduli disponibili tramite Node Package Manager ( NPM) per rafforzare ulteriormente il tuo backend. Per ulteriore documentazione, non esitate a visitare il sito Meteor , dove è possibile ulteriori informazioni su come personalizzare il sito Web a proprio piacimento. Inoltre, è possibile fare riferimento alla documentazione MongoDB , quando si ha a che fare con le operazioni del database.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.