Suche…


Melden Sie sich für den AWS-Service an

Da viele Anfänger über Cloud-Hosting verwirrt sind. Ich schreibe diesen Leitfaden, um durch das Setzen von Meteor auf AWS mit Ubuntu os zu gehen. Wenn Sie bereits über eine Instanz verfügen, können Sie diesen Schritt überspringen und Meteor auf aws installieren.

Melden Sie sich bei AWS Console an. Wählen Sie EC2. Wechseln Sie zum EC2-Dashboard. Klicken Sie unter Instanz erstellen auf Startinstanz. Geben Sie hier die Bildbeschreibung ein

Wählen Sie im nächsten Schritt die Ubuntu-Instanz aus Geben Sie hier die Bildbeschreibung ein

Erstellen Sie ein Schlüsselpaar und laden Sie den privaten Schlüssel auf Ihren lokalen Computer herunter.

Melden Sie sich über die Shell bei aws an (stellen Sie mithilfe des privaten Schlüssels sicher, dass sich der private Schlüssel in Ihrem Pfad befindet, oder führen Sie den Befehl aus dem Verzeichnis aus, das den privaten Schlüssel enthält)

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

ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com ist ein öffentlicher DNS-Instanzname auf der Amazon-Konsole. ubuntu ist Benutzername. Sie können auch eine öffentliche IP-Adresse verwenden.

SCHRITTE ZUM INSTALLIEREN VON METEOR AUF AWS INSTANCE (mit mupx)

  1. Kopieren Sie den privaten Schlüssel vom lokalen Computer in den SSH-Ordner des aws-Servers

Beispiel /home/ubuntu/.ssh/myprivatekey.pem

  1. Aktualisieren Sie den Packager auf die neueste Version
sudo apt-get update
  1. Installieren Sie die Eigenschaften der Python-Software
 sudo apt-get install python-software-properties
  1. npm und node installieren (optional auch nvm installieren)
sudo apt-get install npm

Installiere nvm

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

Knoten installieren

nvm install 4.4.7

nvm use 4.4.7
  1. Installieren Sie aws cli
sudo apt-get install awscli
  1. Installieren Sie Meteor
 sudo npm install -g mupx
 
 sudo npm install -g mupx-letsencrypt  

(Meteor 1.4 ist derzeit nur von mpux-letsencrypt verfügbar)

  1. Initialisieren Sie mupx, indem Sie in Ihr Projektverzeichnis gehen oder ein neues Verzeichnis erstellen, falls nicht vorhanden
mupx-letsencrypt init

Wenn Sie einen Fehler wie unten erhalten, ist möglicherweise ein vorhandener Knoten vorhanden, an dem Sie einen Link erstellen müssen

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



sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Meteor installieren
curl https://install.meteor.com | /bin/sh
  1. edit mup.json (Vergewissern Sie sich, dass Sie den Benutzernamen: ubuntu und den korrekten Ort des privaten Schlüssels aus Schritt 1 eingegeben haben.)

    Nano-Datei-Editor verwenden (um Dateien auf Ubuntu zu bearbeiten, kann auch vi verwendet werden)

 nano mup.json   

Beispiel 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 mit mongo wird mit folgendem Befehl im Projektverzeichnis ausgeführt.

    mupx-letsencrypt setup
    
  2. Projekt mit Mupx bereitstellen

    mupx-letsencrypt deploy
    

Einige hilfreiche Befehle

So prüfen Sie die Mupx-Protokolle

mupx logs -f

Docker überprüfen

 docker -D info

So überprüfen Sie den Netzwerkstatus

netstat -a

Zur Überprüfung des laufenden Prozesses einschließlich CPU- und Speicherauslastung

 top

Installieren Sie den Mongo-Client, um den Mongo-Shell-Zugriff auf aws zu erhalten

sudo apt-get install mongodb-clients

Mongodb-Abfragen ausführen

mongo projectName

Einmal in der Mongo Shell laufen

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

Vielen Dank an arunoda für das wunderbare Tool https://github.com/arunoda/meteor-up

Vielen Dank an das mupx-letsencrypt-Team für die gute Arbeit. https://www.npmjs.com/package/mupx-letsencrypt



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow