Desplegueu una aplicació Meteor a Ubuntu

Aquest article us guiarà a través de la implementació de la vostra aplicació Meteor a un Vultr VPS amb Ubuntu 14.04. També pot funcionar en altres distribucions de Linux (intent sota el vostre propi risc).

Un enginyós company anomenat Arunoda Susiripala, que és força actiu a la comunitat Meteor, ha desenvolupat una eina de desplegament anomenada mupx (abreviatura de "Meteor Up X"), que fa que sigui extremadament fàcil desplegar la vostra aplicació Meteor a un servidor remot mitjançant ssh. Mupx és el successor de mup. Us guiarem pel procés des del principi fins al final. Afortunadament, Mup fa la major part del treball pesant, així que serà una brisa!

El nostre primer pas és instal·lar mupx. Ho fareu a la vostra estació de treball de desenvolupament, no al vostre servidor VPS! Assegureu-vos que ja teniu Node.js instal·lat i executeu:

$ npm install -g mupx

Un cop finalitzada la instal·lació, aneu a la carpeta del vostre projecte Meteor, per exemple /projects/myApp, i executeu les ordres següents:

$ mkdir .deploy
$ cd $_
$ mupx init

Per a aquells que no estiguin familiaritzats amb la $_sintaxi, és una drecera per a l'últim argument utilitzat en una ordre. Així, en aquest cas, cd $_s'executa com a cd .deploy.

Veureu la següent sortida:

Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

Empty Project Initialized!

El procés d'inicialització crea dos fitxers mup.jsoni settings.json. Deixarem aquest darrer fitxer en pau ara mateix. Endavant i obre mup.json. En el moment d'escriure aquest article, el valor predeterminat mup.jsonés el següent:

{
  // Server authentication info
  "servers": [
    {
      "host": "hostname",
      "username": "root",
      "password": "password",
      // or pem file (ssh based authentication)
      // WARNING: Keys protected by a passphrase are not supported
      //"pem": "~/.ssh/id_rsa"
      // Also, for non-standard ssh port use this
      //"sshOptions": { "port" : 49154 },
      // server specific environment variables
      "env": {}
    }
  ],

  // Install MongoDB on the server. Does not destroy the local MongoDB on future setups
  "setupMongo": true,

  // Application name (no spaces).
  "appName": "meteor",

  // Location of app (local directory). This can reference '~' as the users home directory.
  // i.e., "app": "~/Meteor/my-app",
  // This is the same as the line below.
  "app": "/path/to/the/app",

  // Configure environment
  // ROOT_URL must be set to your correct domain (https or http)
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com"
  },

  // Meteor Up checks if the app comes online just after the deployment.
  // Before mup checks that, it will wait for the number of seconds configured below.
  "deployCheckWaitTime": 15,

  // show a progress bar while uploading. 
  // Make it false when you deploy using a CI box.
  "enableUploadProgressBar": true
}

Hem de canviar algunes coses perquè el procés de configuració funcioni.

Primer, assegureu-vos d'establir hostla vostra adreça IP VPS, per exemple:

"host": "123.123.123.123",

Si necessiteu utilitzar un número de port diferent del 22 per defecte, podeu fer-ho mitjançant el sshOptionscamp, per exemple:

"host": "123.123.123.123",
"sshOptions": { "port": 9876 },

Estableix el usernamevalor a qualsevol usuari que vulguis que tingui la instal·lació de la teva aplicació Meteor. Recomano eliminar la línia de contrasenya i utilitzar una clau SSH, per motius de seguretat. Descomenteu la línia amb el pemvalor i assegureu-vos que apunta a la vostra clau secreta SSH que es correspon amb la clau pública SSH que heu instal·lat al vostre VPS (a /root/.ssh/authorized_keys). Assegureu-vos d'afegir una coma després de la línia de contrasenya! Si la vostra clau SSH té una frase de contrasenya adjunta, traieu la pemlínia completament i assegureu-vos que la vostra clau privada SSH estigui emmagatzemada a la memòria cau en un agent ssh (per exemple, a Mac, ssh-add <path to ssh private key>).

Deixeu el setupMongoseu valor predeterminat.

Canvia appNameal nom de la teva aplicació Meteor. En el nostre cas:

"appName": "myApp",

... i establiu també la ubicació de l'aplicació, en relació amb aquesta carpeta de desplegament:

"app": "..",

Finalment, configureu l' ROOT_URLURL designat per a la vostra aplicació. Establiu explícitament un número de port al port HTTP estàndard.

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80
},

Això és! Deseu el mup.jsonfitxer i, a continuació, executeu:

$ mupx setup

En aquest moment, mupx s'enviarà al vostre VPS, instal·larà Docker, configurarà l'entorn i traurà les imatges de Docker adequades. Ara implementeu la vostra aplicació:

$ mupx deploy

Ara, si aneu a http://123.123.123.123, la vostra aplicació es mostrarà quan es carregui la pàgina.

Suport multinucli

Si el vostre VPS té diversos nuclis, la vostra aplicació Meteor pot aprofitar-ho. Només haurem de fer un parell de retocs ràpids.

Primer, haureu d'instal·lar el paquet del clúster. Aneu a la carpeta de la vostra aplicació Meteor (en aquest exemple, /projects/myApp) i escriviu:

$ meteor add meteorhacks:cluster

Ara editeu el vostre mup.jsonfitxer i modifiqueu la secció de variables d'entorn així:

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80,
  "CLUSTER_WORKERS_COUNT": "auto"
},

Com que hem afegit un paquet nou a la vostra aplicació, haureu de tornar a desplegar.

$ mupx setup && mupx deploy

Si mai voleu canviar les variables d'entorn mup.jsonsense haver de desplegar tota l'aplicació, només cal que utilitzeu l'ordre reconfigure. Això és útil quan no s'han fet canvis a l'aplicació.

$ mupx reconfig

Enhorabona, la teva aplicació Meteor ja està en funcionament! A més, la vostra aplicació s'iniciarà automàticament cada cop que es reiniciï el vostre VPS. Estigueu atents als futurs articles sobre el desplegament i la gestió de Meteor.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació