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.
Välj ubuntu-instans i nästa steg
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)
- kopiera privat nyckel från lokal maskin till aws server ssh-mapp
exempel /home/ubuntu/.ssh/myprivatekey.pem
- uppdatera paketeraren till den senaste versionen
sudo apt-get update
- installera egenskaper för Python-programvara
sudo apt-get install python-software-properties
- 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
- Installera aws cli
sudo apt-get install awscli
- 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)
- 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
- Installera meteor
curl https://install.meteor.com | /bin/sh
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
}
Setup Meteor inklusive mongokörning efter kommando i projektkatalog.
mupx-letsencrypt setup
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