Поиск…
Регистрация для службы AWS
Поскольку много новичков путают о облачном хостинге. Я пишу это руководство, чтобы пройти через установку метеора на aws с помощью ubuntu os. Если вы уже используете свой экземпляр, не стесняйтесь пропустить этот шаг и перейти прямо к установке meteor на aws.
Войдите в консоль AWS. Выберите EC2. Перейдите на панель инструментов EC2. В разделе Создать экземпляр запуска экземпляра экземпляра.
Выберите экземпляр ubuntu на следующем шаге
Создайте ключную пару и загрузите закрытый ключ на свой локальный компьютер.
Войдите через оболочку в aws (используя закрытый ключ, убедитесь, что закрытый ключ находится в вашем пути или запускает команду из каталога, содержащего закрытый ключ)
ssh -i "myprivatekey.pem" [email protected]
ec2-xx-xx-xx-xx.ap-south-1.compute.amazonaws.com - это имя экземпляра публичного dns на консоли amazon. ubuntu - имя пользователя. Вы также можете использовать общедоступный IP-адрес.
ШАГИ ДЛЯ УСТАНОВКИ METEOR ON AWS INSTANCE (с использованием mupx)
- Скопировать секретный ключ из локальной машины в папку aws server ssh
example /home/ubuntu/.ssh/myprivatekey.pem
- обновить упаковщик до последней версии
sudo apt-get update
- установить свойства программного обеспечения python
sudo apt-get install python-software-properties
- установить npm и узел (возможно, также установить nvm)
sudo apt-get install npm
Установить nvm
curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
Установить узел
nvm install 4.4.7
nvm use 4.4.7
- Установить aws cli
sudo apt-get install awscli
- Установите метеорит вверх
sudo npm install -g mupx
sudo npm install -g mupx-letsencrypt
(meteor 1.4 в настоящее время доступен только mpux-letencrypt)
- Инициализировать mupx, перейдя в каталог проекта или создайте новый каталог, если он не существует
mupx-letsencrypt init
Если вы получите ошибку, как показано ниже, то может существовать устаревший узел, вам нужно создать ссылку
/usr/bin/env: node: No such file or directory
sudo ln -s /usr/bin/nodejs /usr/bin/node
- Установить метеор
curl https://install.meteor.com | /bin/sh
edit mup.json (Обязательно заполните имя пользователя: ubuntu и правильное расположение закрытого ключа с шага 1)
использовать редактор файлов nano (редактировать файлы на ubuntu, также можно использовать vi)
nano mup.json
Пример 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
}
Установите Meteor, включая mongo, выполнив следующую команду в каталоге проекта.
mupx-letsencrypt setup
развертывание проекта с использованием mupx
mupx-letsencrypt deploy
Некоторые полезные команды
Чтобы проверить журналы mupx
mupx logs -f
Чтобы проверить Docker
docker -D info
Проверка состояния сети
netstat -a
Чтобы проверить текущий текущий процесс, включая использование процессора и памяти
top
Установите клиент mongo, чтобы получить доступ к оболочке монго на aws
sudo apt-get install mongodb-clients
Выполнение запросов mongodb
mongo projectName
После того, как внутри оболочки манго
db.version()
db.users.find()
Спасибо arunoda за предоставление замечательного инструмента https://github.com/arunoda/meteor-up
Спасибо команде mupx-letencrypt за хорошую работу. https://www.npmjs.com/package/mupx-letsencrypt