Nasaďte aplikaci Meteor na Ubuntu

Tento článek vás provede nasazením vaší aplikace Meteor na Vultr VPS se systémem Ubuntu 14.04. Může také fungovat na jiných distribucích Linuxu (pokus na vlastní riziko).

Geniální člověk jménem Arunoda Susiripala, který je v komunitě Meteor poměrně aktivní, vyvinul nástroj pro nasazení nazvaný mupx (zkratka pro „Meteor Up X“), díky kterému je extrémně snadné nasadit vaši aplikaci Meteor na vzdálený server přes ssh. Mupx je nástupcem mupu. Provedeme vás celým procesem od začátku do konce. Naštěstí většinu těžkých břemen zvládne Mup, takže to bude hračka!

Naším prvním krokem je instalace mupx. Uděláte to na své vývojové pracovní stanici, ne na serveru VPS! Ujistěte se, že máte Node.js již nainstalovaný, a spusťte:

$ npm install -g mupx

Po dokončení instalace přejděte do složky projektu Meteor, např /projects/myApp. a spusťte následující příkazy:

$ mkdir .deploy
$ cd $_
$ mupx init

Pro ty, kteří nejsou obeznámeni se $_syntaxí, je to zkratka pro poslední argument použitý v příkazu. Takže v tomto případě se cd $_provede jako cd .deploy.

Uvidíte následující výstup:

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

Empty Project Initialized!

Proces inicializace vytvoří dva soubory mup.jsona settings.json. Druhý soubor teď necháme na pokoji. Pokračujte a otevřete se mup.json. V době psaní tohoto článku výchozí nastavení mup.jsonvypadá takto:

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

Aby proces nastavení fungoval, potřebujeme změnit pár věcí.

Nejprve se ujistěte, že jste nastavili hostsvou IP adresu VPS, například:

"host": "123.123.123.123",

Pokud potřebujete použít jiné číslo portu než výchozí 22, můžete tak učinit pomocí sshOptionspole, například:

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

Nastavte usernamehodnotu na libovolného uživatele, kterému chcete vlastnit instalaci vaší aplikace Meteor. Z bezpečnostních důvodů doporučuji odstranit řádek s heslem a místo něj použít klíč SSH. Odkomentujte řádek s pemhodnotou a ujistěte se, že ukazuje na váš tajný klíč SSH, který odpovídá veřejnému klíči SSH, který jste nainstalovali do svého VPS (v /root/.ssh/authorized_keys). Nezapomeňte přidat čárku za řádek s heslem! Pokud má váš klíč SSH připojenou přístupovou frázi, pemzcela odstraňte řádek a ujistěte se, že váš soukromý klíč SSH je uložen v mezipaměti agenta ssh (např. na Macu, ssh-add <path to ssh private key>).

Nechte setupMongonastavenou výchozí hodnotu.

Změňte appNamenázev své aplikace Meteor. V našem případě:

"appName": "myApp",

... a také nastavte umístění aplikace vzhledem k této složce nasazení:

"app": "..",

Nakonec nastavte ROOT_URLadresu URL pro vaši aplikaci. Explicitně nastavte číslo portu na standardní HTTP port.

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

A je to! Uložte mup.jsonsoubor a poté spusťte:

$ mupx setup

V tomto okamžiku mupx provede ssh do vašeho VPS, nainstaluje Docker, nastaví prostředí a stáhne příslušné obrazy Dockeru. Nyní nasaďte svou aplikaci:

$ mupx deploy

Pokud nyní přejdete na http://123.123.123.123, vaše aplikace se zobrazí, když se stránka načte.

Vícejádrová podpora

Pokud má váš VPS více jader, vaše aplikace Meteor toho může využít. Budeme muset udělat pár rychlých úprav.

Nejprve budete muset nainstalovat balíček clusteru. Přejděte do složky aplikace Meteor (v tomto příkladu /projects/myApp) a zadejte:

$ meteor add meteorhacks:cluster

Nyní upravte svůj mup.jsonsoubor a upravte sekci proměnné prostředí takto:

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

Protože jsme do vaší aplikace přidali nový balíček, budete ho muset znovu nasadit.

$ mupx setup && mupx deploy

Pokud někdy budete chtít změnit proměnné prostředí, mup.jsonaniž byste museli nasadit celou aplikaci, jednoduše použijte příkaz překonfigurovat. To je užitečné, když nebyly provedeny žádné změny aplikace.

$ mupx reconfig

Gratulujeme, vaše aplikace Meteor je nyní spuštěna! Vaše aplikace se také automaticky spustí, kdykoli se vaše VPS restartuje. Sledujte budoucí články o nasazení a správě Meteoru.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více