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.
Wählen Sie im nächsten Schritt die Ubuntu-Instanz aus
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)
- Kopieren Sie den privaten Schlüssel vom lokalen Computer in den SSH-Ordner des aws-Servers
Beispiel /home/ubuntu/.ssh/myprivatekey.pem
- Aktualisieren Sie den Packager auf die neueste Version
sudo apt-get update
- Installieren Sie die Eigenschaften der Python-Software
sudo apt-get install python-software-properties
- 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
- Installieren Sie aws cli
sudo apt-get install awscli
- 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)
- 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
- Meteor installieren
curl https://install.meteor.com | /bin/sh
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
}
Setup-Meteor mit mongo wird mit folgendem Befehl im Projektverzeichnis ausgeführt.
mupx-letsencrypt setup
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