Distribuer en Meteor-applikasjon på Ubuntu

Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk på egen risiko).

En genial kar ved navn Arunoda Susiripala, som er ganske aktiv i Meteor-samfunnet, har utviklet et distribusjonsverktøy kalt mupx (forkortelse for "Meteor Up X"), som gjør det ekstremt enkelt å distribuere Meteor-applikasjonen din til en ekstern server via ssh. Mupx er etterfølgeren til mup. Vi vil lede deg gjennom prosessen fra start til slutt. Mup gjør det meste av tunge løft, heldigvis, så dette blir en lek!

Vårt første trinn er å installere mupx. Du vil gjøre dette på utviklingsarbeidsstasjonen, ikke på VPS-serveren! Sørg for at du allerede har Node.js installert, og kjør:

$ npm install -g mupx

Etter at installasjonen er fullført, gå inn i Meteor-prosjektmappen, f.eks. /projects/myApp, og kjør følgende kommandoer:

$ mkdir .deploy
$ cd $_
$ mupx init

For de som ikke er kjent med $_syntaksen, er det en snarvei for det siste argumentet som ble brukt i en kommando. Så i dette tilfellet cd $_utføres som cd .deploy.

Du vil se følgende utgang:

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

Empty Project Initialized!

Initialiseringsprosessen oppretter to filer, mup.jsonog settings.json. Vi lar den sistnevnte filen være i fred akkurat nå. Gå videre og åpne opp mup.json. På tidspunktet for skriving av denne artikkelen mup.jsonser standarden slik ut:

{
  // 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
}

Vi må endre noen ting for at oppsettsprosessen skal fungere.

Først må du sørge for å sette hosttil din VPS IP-adresse, for eksempel:

"host": "123.123.123.123",

Hvis du trenger å bruke et annet portnummer enn standard 22, kan du gjøre det ved å bruke sshOptionsfeltet, for eksempel:

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

Sett usernameverdien til den brukeren du vil skal eie Meteor-appens installasjon. Jeg anbefaler å fjerne passordlinjen og bruke en SSH-nøkkel i stedet, av sikkerhetshensyn. Fjern kommentarfeltet med pemverdien og sørg for at den peker til den hemmelige SSH-nøkkelen din som samsvarer med den offentlige SSH-nøkkelen du har installert på VPS-en din (i /root/.ssh/authorized_keys). Sørg for å legge til et komma etter passordlinjen! Hvis SSH-nøkkelen din har en passordfrase knyttet til seg, fjern pemlinjen helt og sørg for at den private SSH-nøkkelen din er bufret i en ssh-agent (f.eks. på Mac, ssh-add <path to ssh private key>).

La den setupMongostå på standardverdien.

Endre appNametil navnet på Meteor-appen din. I vårt tilfelle:

"appName": "myApp",

... og angi plasseringen til appen også, i forhold til denne distribusjonsmappen:

"app": "..",

Til slutt setter du ROOT_URLtil den angitte URL-adressen for appen din. Angi eksplisitt et portnummer til standard HTTP-port.

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

Det er det! Lagre mup.jsonfilen, og kjør deretter:

$ mupx setup

På dette tidspunktet vil mupx ssh inn i VPS-en din, installere Docker, sette opp miljøet og trekke de riktige Docker-bildene. Distribuer nå appen din:

$ mupx deploy

Hvis du nå går til http://123.123.123.123, vil appen din vise når siden lastes.

Flerkjernestøtte

Hvis VPS-en din har flere kjerner, kan Meteor-appen din dra nytte av det. Vi må bare gjøre et par raske justeringer.

Først må du installere klyngepakken. Gå inn i mappen til Meteor-appen din (i dette eksemplet /projects/myApp), og skriv:

$ meteor add meteorhacks:cluster

Rediger nå mup.jsonfilen din og endre miljøvariabeldelen slik:

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

Siden vi har lagt til en ny pakke i appen din, må du distribuere på nytt.

$ mupx setup && mupx deploy

Hvis du noen gang vil endre miljøvariablene dine mup.jsonuten å måtte distribuere hele appen, bruk bare reconfigure-kommandoen. Dette er nyttig når det ikke ble gjort noen applikasjonsendringer.

$ mupx reconfig

Gratulerer, Meteor-appen din er nå oppe og går! Appen din starter også automatisk hver gang VPS-en starter på nytt. Hold øye med fremtidige artikler om Meteor-distribusjon og -administrasjon.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer