Sök…


Registrering för AWS Service

Eftersom många nybörjare är förvirrade över molnhosting. Jag skriver denna guide för att gå genom att ställa in meteor på aws med ubuntu os. Om du redan har din instans igång ska du gärna hoppa över det här steget och gå direkt till att installera meteor på aws.

Logga in på AWS Console. Välj EC2. Gå till EC2 Dashboard. Klicka på Start-instans under Skapa instans. ange bildbeskrivning här

Välj ubuntu-instans i nästa steg ange bildbeskrivning här

Skapa nyckelpar & ladda ner privat nyckel till din lokala maskin.

Logga in via shell till aws (använd privat nyckel, se till att privat nyckel finns i din sökväg eller kör kommando från katalog som innehåller privat nyckel)

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

ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com är offentligt dns-instansnamn på amazon-konsolen. ubuntu är användarnamn. Du kan också använda offentlig IP-adress.

STEG FÖR ATT INSTALLERA METEOR PÅ AWS-INSTANS (med mupx)

  1. kopiera privat nyckel från lokal maskin till aws server ssh-mapp

exempel /home/ubuntu/.ssh/myprivatekey.pem

  1. uppdatera paketeraren till den senaste versionen
sudo apt-get update
  1. installera egenskaper för Python-programvara
 sudo apt-get install python-software-properties
  1. installera npm och nod (eventuellt också installera nvm)
sudo apt-get install npm

Installera nvm

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

Installera nod

nvm install 4.4.7

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

(meteor 1.4 är för närvarande endast tillgängligt via mpux-letsencrypt)

  1. Initiera mupx genom att gå in i din projektkatalog eller skapa en ny katalog om den inte finns
mupx-letsencrypt init

Om du får fel som nedan, kan det hända att den gamla noden är där du måste skapa länk

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



sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Installera meteor
curl https://install.meteor.com | /bin/sh
  1. redigera mup.json (Se till att fylla användarnamn: ubuntu och rätt plats för privat nyckel från steg 1)

    använd nano-filredigerare (för att redigera på filer på ubuntu, kan också använda vi)

 nano mup.json   

Exempel 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. Setup Meteor inklusive mongokörning efter kommando i projektkatalog.

    mupx-letsencrypt setup
    
  2. distribuera projekt med mupx

    mupx-letsencrypt deploy
    

Några användbara kommandon

Kontrollera mupx-loggar

mupx logs -f

För att kontrollera Docker

 docker -D info

Kontrollera nätverksstatus

netstat -a

För att kontrollera den aktuella körprocessen inklusive CPU och minnesanvändning

 top

Installera mongo-klienten för att få mongoskal tillträde på aws

sudo apt-get install mongodb-clients

För att köra mongodbfrågor

mongo projectName

En gång inne i mongoskalen

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

Tack arunoda för att du tillhandahöll underbart verktyg https://github.com/arunoda/meteor-up

Tack mupx-letsencrypt team för bra arbete. https://www.npmjs.com/package/mupx-letsencrypt



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow