Szukaj…


Zarejestruj się w usłudze AWS

Ponieważ wielu początkujących jest zdezorientowanych co do hostingu w chmurze, piszę ten przewodnik, aby przejść przez ustawienie meteor na aws z Ubuntu OS. Jeśli masz już uruchomioną instancję, możesz pominąć ten krok i przejść od razu do zainstalowania meteoru na aws.

Zaloguj się do konsoli AWS. Wybierz EC2. Przejdź do pulpitu nawigacyjnego EC2. W obszarze Utwórz instancję kliknij opcję Uruchom instancję. wprowadź opis zdjęcia tutaj

Wybierz wystąpienie ubuntu w następnym kroku wprowadź opis zdjęcia tutaj

Utwórz parę kluczy i pobierz klucz prywatny na swój komputer lokalny.

Zaloguj się przez aws do aws (używając klucza prywatnego, upewnij się, że klucz prywatny znajduje się na twojej ścieżce lub uruchom polecenie z katalogu zawierającego klucz prywatny)

ssh -i "myprivatekey.pem" [email protected]

ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com to publiczna nazwa instancji dns na konsoli Amazon. ubuntu to nazwa użytkownika. Możesz także użyć publicznego adresu IP.

KROKI DO ZAINSTALOWANIA METEOR NA INSTALACJI AWS (przy użyciu mupx)

  1. skopiuj klucz prywatny z lokalnego komputera do folderu ssh serwera aws

przykład /home/ubuntu/.ssh/myprivatekey.pem

  1. zaktualizuj program pakujący do najnowszej wersji
sudo apt-get update
  1. zainstaluj właściwości oprogramowania Python
 sudo apt-get install python-software-properties
  1. zainstaluj npm i node (opcjonalnie również zainstaluj nvm)
sudo apt-get install npm

Zainstaluj NVM

curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash

Zainstaluj węzeł

nvm install 4.4.7

nvm use 4.4.7
  1. Zainstaluj aws cli
sudo apt-get install awscli
  1. Zainstaluj meteor
 sudo npm install -g mupx
 
 sudo npm install -g mupx-letsencrypt  

(meteor 1.4 jest obecnie dostępny tylko przez mpux-letsencrypt)

  1. Zainicjuj mupx, przechodząc do katalogu projektu lub utwórz nowy katalog, jeśli nie istnieje
mupx-letsencrypt init

Jeśli pojawi się błąd jak poniżej, być może starszy węzeł wymaga utworzenia łącza

/usr/bin/env: node: No such file or directory



sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Zainstaluj meteor
curl https://install.meteor.com | /bin/sh
  1. edytuj mup.json (Pamiętaj o wpisaniu nazwy użytkownika: ubuntu i poprawnej lokalizacji klucza prywatnego od kroku 1)

    użyj edytora plików nano (do edycji plików na Ubuntu, możesz także użyć vi)

 nano mup.json   

Przykład mup.json

    {
  // Server authentication info
  "servers": [
    {
      "host": "ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com",
      "username": "ubuntu",
      //"password": "password",
      // or pem file (ssh based authentication)
      "pem": "~/.ssh/myprivatekey.pem",
      // 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,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": false,

  // WARNING: nodeVersion defaults to 0.10.36 if omitted. Do not use v, just the version number.
  //"nodeVersion": "4.4.7",

  // Install PhantomJS on the server
  "setupPhantom": true,

  // Show a progress bar during the upload of the bundle to the server.
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (no spaces).
  "appName": "my-app",

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

  // Configure environment
  // ROOT_URL must be set to https://YOURDOMAIN.com when using the spiderable package & force SSL
  // your NGINX proxy or Cloudflare. When using just Meteor on SSL without spiderable this is not necessary
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com",
     // only needed if mongodb is on separate server
    "MONGO_URL": "mongodb://url:port/MyApp",
    "MAIL_URL":   "smtp://postmaster%40myapp.mailgun.org:[email protected]:587/"
  },

  // 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": 60
}
  1. Skonfiguruj Meteor, w tym mongo, uruchamiając następujące polecenie w katalogu projektu.

    mupx-letsencrypt setup
    
  2. wdrożyć projekt za pomocą mupx

    mupx-letsencrypt deploy
    

Kilka pomocnych poleceń

Aby sprawdzić logi mupx

mupx logs -f

Aby sprawdzić Docker

 docker -D info

Aby sprawdzić status sieci

netstat -a

Aby sprawdzić bieżący przebieg procesu, w tym wykorzystanie procesora i pamięci

 top

Zainstaluj klienta mongo, aby uzyskać dostęp do powłoki mongo na aws

sudo apt-get install mongodb-clients

Aby uruchomić zapytania mongodb

mongo projectName

Po uruchomieniu pocisku Mongo Inside Inside

 db.version()
 db.users.find()

Dzięki arunoda za zapewnienie wspaniałego narzędzia https://github.com/arunoda/meteor-up

Dzięki zespołowi mupx-letsencrypt za dobrą pracę. https://www.npmjs.com/package/mupx-letsencrypt



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow