Zoeken…


Aanmelden voor AWS-service

Omdat veel beginners in de war zijn over cloudhosting, schrijf ik deze gids om door het instellen van meteor op aws te lopen met ubuntu os. Als je je instantie al hebt uitgevoerd, kun je deze stap overslaan en meteen doorgaan met het installeren van meteor op aws.

Log in op AWS Console.Selecteer EC2. Ga naar EC2 Dashboard. Klik onder Instance maken op Launch instance. voer hier de afbeeldingsbeschrijving in

Selecteer ubuntu-instantie in de volgende stap voer hier de afbeeldingsbeschrijving in

Creëer sleutelpaar & download privésleutel naar uw lokale machine.

Login via shell naar aws (zorg er met behulp van private key voor dat private key in je pad zit of voer commando uit vanuit directory die private key bevat)

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

ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com is een openbare DNS-instantienaam op de Amazon-console. ubuntu is gebruikersnaam. U kunt ook een openbaar IP-adres gebruiken.

STAPPEN OM METEOR OP AWS-INSTANTIE TE INSTALLEREN (met behulp van mupx)

  1. kopieer de private sleutel van de lokale machine naar de ssh-map van de aws-server

voorbeeld /home/ubuntu/.ssh/myprivatekey.pem

  1. update packager naar de nieuwste versie
sudo apt-get update
  1. python software-eigenschappen installeren
 sudo apt-get install python-software-properties
  1. installeer npm en node (installeer optioneel ook nvm)
sudo apt-get install npm

Installeer nvm

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

Installeer knooppunt

nvm install 4.4.7

nvm use 4.4.7
  1. Installeer aws cli
sudo apt-get install awscli
  1. Installeer meteoor omhoog
 sudo npm install -g mupx
 
 sudo npm install -g mupx-letsencrypt  

(meteoor 1.4 is momenteel alleen beschikbaar door mpux-letsencrypt)

  1. Initialiseer mupx door naar uw projectmap te gaan of maak een nieuwe map als deze niet bestaat
mupx-letsencrypt init

Als je een foutmelding krijgt zoals hieronder, dan is het mogelijk dat je een oude link hebt

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



sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Installeer meteoor
curl https://install.meteor.com | /bin/sh
  1. edit mup.json (Zorg ervoor dat u gebruikersnaam: ubuntu en juiste locatie van privésleutel uit stap 1 invult)

    gebruik nano file editor (om te bewerken op bestanden op ubuntu, kan ook vi gebruiken)

 nano mup.json   

Voorbeeld 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 inclusief mongo running volgende opdracht in projectmap.

    mupx-letsencrypt setup
    
  2. project inzetten met mupx

    mupx-letsencrypt deploy
    

Enkele nuttige opdrachten

Om mupx-logboeken te controleren

mupx logs -f

Docker controleren

 docker -D info

Om de netwerkstatus te controleren

netstat -a

Om het huidige lopende proces te controleren, inclusief cpu en geheugengebruik

 top

Installeer mongo client om mongo shell toegang te krijgen op aws

sudo apt-get install mongodb-clients

Om mongodb-zoekopdrachten uit te voeren

mongo projectName

Een keer binnen mongo shell rennen

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

Bedankt arunoda voor het verstrekken van prachtige tool https://github.com/arunoda/meteor-up

Bedankt mupx-letsencrypt-team voor goed werk. https://www.npmjs.com/package/mupx-letsencrypt



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow