Szukaj…
Zarejestruj się w usłudze AWS
Ponieważ wielu początkujących jest zdezorientowanych co do hostingu w chmurze, piszę ten przewodnik, aby przejść przez ustawienie meteor na aws z Ubuntu OS. Jeśli masz już uruchomioną instancję, możesz pominąć ten krok i przejść od razu do zainstalowania meteoru na aws.
Zaloguj się do konsoli AWS. Wybierz EC2. Przejdź do pulpitu nawigacyjnego EC2. W obszarze Utwórz instancję kliknij opcję Uruchom instancję.
Wybierz wystąpienie ubuntu w następnym kroku
Utwórz parę kluczy i pobierz klucz prywatny na swój komputer lokalny.
Zaloguj się przez aws do aws (używając klucza prywatnego, upewnij się, że klucz prywatny znajduje się na twojej ścieżce lub uruchom polecenie z katalogu zawierającego klucz prywatny)
ssh -i "myprivatekey.pem" [email protected]
ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com to publiczna nazwa instancji dns na konsoli Amazon. ubuntu to nazwa użytkownika. Możesz także użyć publicznego adresu IP.
KROKI DO ZAINSTALOWANIA METEOR NA INSTALACJI AWS (przy użyciu mupx)
- skopiuj klucz prywatny z lokalnego komputera do folderu ssh serwera aws
przykład /home/ubuntu/.ssh/myprivatekey.pem
- zaktualizuj program pakujący do najnowszej wersji
sudo apt-get update
- zainstaluj właściwości oprogramowania Python
sudo apt-get install python-software-properties
- zainstaluj npm i node (opcjonalnie również zainstaluj nvm)
sudo apt-get install npm
Zainstaluj NVM
curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
Zainstaluj węzeł
nvm install 4.4.7
nvm use 4.4.7
- Zainstaluj aws cli
sudo apt-get install awscli
- Zainstaluj meteor
sudo npm install -g mupx
sudo npm install -g mupx-letsencrypt
(meteor 1.4 jest obecnie dostępny tylko przez mpux-letsencrypt)
- Zainicjuj mupx, przechodząc do katalogu projektu lub utwórz nowy katalog, jeśli nie istnieje
mupx-letsencrypt init
Jeśli pojawi się błąd jak poniżej, być może starszy węzeł wymaga utworzenia łącza
/usr/bin/env: node: No such file or directory
sudo ln -s /usr/bin/nodejs /usr/bin/node
- Zainstaluj meteor
curl https://install.meteor.com | /bin/sh
edytuj mup.json (Pamiętaj o wpisaniu nazwy użytkownika: ubuntu i poprawnej lokalizacji klucza prywatnego od kroku 1)
użyj edytora plików nano (do edycji plików na Ubuntu, możesz także użyć vi)
nano mup.json
Przykład 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
}
Skonfiguruj Meteor, w tym mongo, uruchamiając następujące polecenie w katalogu projektu.
mupx-letsencrypt setup
wdrożyć projekt za pomocą mupx
mupx-letsencrypt deploy
Kilka pomocnych poleceń
Aby sprawdzić logi mupx
mupx logs -f
Aby sprawdzić Docker
docker -D info
Aby sprawdzić status sieci
netstat -a
Aby sprawdzić bieżący przebieg procesu, w tym wykorzystanie procesora i pamięci
top
Zainstaluj klienta mongo, aby uzyskać dostęp do powłoki mongo na aws
sudo apt-get install mongodb-clients
Aby uruchomić zapytania mongodb
mongo projectName
Po uruchomieniu pocisku Mongo Inside Inside
db.version()
db.users.find()
Dzięki arunoda za zapewnienie wspaniałego narzędzia https://github.com/arunoda/meteor-up
Dzięki zespołowi mupx-letsencrypt za dobrą pracę. https://www.npmjs.com/package/mupx-letsencrypt