Поиск…


Регистрация для службы 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)

  1. Скопировать секретный ключ из локальной машины в папку aws server ssh

example /home/ubuntu/.ssh/myprivatekey.pem

  1. обновить упаковщик до последней версии
sudo apt-get update
  1. установить свойства программного обеспечения python
 sudo apt-get install python-software-properties
  1. установить 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
  1. Установить aws cli
sudo apt-get install awscli
  1. Установите метеорит вверх
 sudo npm install -g mupx
 
 sudo npm install -g mupx-letsencrypt  

(meteor 1.4 в настоящее время доступен только mpux-letencrypt)

  1. Инициализировать mupx, перейдя в каталог проекта или создайте новый каталог, если он не существует
mupx-letsencrypt init

Если вы получите ошибку, как показано ниже, то может существовать устаревший узел, вам нужно создать ссылку

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



sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Установить метеор
curl https://install.meteor.com | /bin/sh
  1. 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
}
  1. Установите Meteor, включая mongo, выполнив следующую команду в каталоге проекта.

    mupx-letsencrypt setup
    
  2. развертывание проекта с использованием 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



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow