В этом руководстве мы узнаем, как развернуть простое веб-приложение в облако, используя AWS и NGINX.
Предварительные условия
- Веб-приложение, которое вы хотите развернуть
- Аккаунт AWS.
Шаг 1: Выберите регион
Регионы очень важны для развертывания вашего приложения в облако. Почему? Ближайший регион — пользователю, тем быстрее они могут получить доступ к ресурсам с сервера.
На изображении выше я выбрал Северную Вирджинию в качестве моей области серверов, и вы можете выбрать другой.
Шаг 2: Создайте экземпляр
Первый шаг, нам нужно настроить экземпляр, где мы будем развернуть наше приложение.
Экземпляр в члене Mayman — это удаленный компьютер или, как написано в документах AWS — виртуальной вычислительной среде. Экземпляр — это термин, данный удаленной машине AWS, другие поставщики облачных услуг, такие как Digitalocean, и Azure Microsoft, просто называют свои капельки и виртуальные машины соответственно.
Войдите в свою консоль AWS в качестве пользователя root. Перейдите к сервису AWS Services и выберите Службу EC2 (упругого Compute Cloud).
Вы должны быть представлены с этой страницей. Нажмите на Запустить экземпляры Отказ Вам потребуется выбрать изображение Amazon Machine. Изображение машины представляет собой тип ОС, на котором работает ваш виртуальный компьютер, потому что, какой компьютер без ОС?
Я выбрал Ubuntu Server 20.04 LTS (HVM), тип громкости SSD, вы можете выбрать другое изображение.
Далее выберите тип экземпляра, необходимый для запуска вашего приложения. Типы экземпляров более похожи на емкость CPU и тип процессора для вашей машины.
Здесь я выбрал тип экземпляра T2.micro. Это в плане свободного уровня. Вы можете выбрать другой тип экземпляра, в зависимости от того, что требует вашего заявления.
Далее мы настроем детали для нашего экземпляра.
Здесь мы собираемся редактировать две вещи. Наша информация подсети и пользовательские данные. Идея пользовательских данных состоит в том, чтобы предотвратить программное обеспечение, вы будете нужны в вашей виртуальной машине.
Выберите любую подсеть для вашего компьютера, после этого сделано, IP-адрес назначен вашим VM. IP-адреса — это способы идентификации компьютера, общаться и делиться ресурсами с ними.
Существует возможность создать свою собственную подсеть, и если вы решили сделать вновь созданную подсеть частным, вы не можете получить доступ к ресурсам, предоставляемыми для общественных подсетей в этом регионе. Просто AWS предоставляет каждый экземпляр Интернет, чтобы вытащить ресурсы. Если вы сделаете вашу подсеть частным, вам придется найти способ потянуть ресурсы.
В UserData я уточнил, что хочу GIT предустановленную в мою виртуальную машину.
Далее настройте хранилище для своей виртуальной машины. Это больше похоже на ваш SSD. Помните, что мое изображение машины имеет тип объема SSD.
Далее теги. Оставьте свои метки пустыми. Теги больше похожи на этикетки, которые вы даете вам ресурсы AWS. Он представлен в виде структуры данных пары для ключа.
Далее группы безопасности. Для вашего экземпляра есть группа безопасности по умолчанию. Группы безопасности больше похожи на брандмауэры.
Брандмауэры являются защитными стенками для каких типов запросов на наш сервер. Например: вы можете заблокировать HTTP-запросы от доступа к вашему веб-приложению
Вы можете использовать существующую группу безопасности или создать новый. Я буду создавать новый.
Наконец, просмотрите все и запуск.
После запуска вам потребуется создать клавичную пару либо формат RSA или ED25519. Это требуется для безопасного войти в вашу оболочку экземпляра EC2. Выберите тип пары и дайте ему имя. Скачайте ключевую пару. После выполнения запустите свой экземпляр.
После этого ваш экземпляр должен быть запущен и работает.
Шаг 3: Войдите в свою виртуальную машину
Наша удаленная машина готова к развертыванию, но нам нужно войти в систему и выполнять операцию развертывания. То, как у вас есть физическая машина и войти в имеющее пользователя и пароль. Мы имеем дело с удаленной машиной, и поэтому нам нужен способ подключения к нему, ключевой паре, которую вы создали, и скачал, это способ подключения.
Нажмите на свой идентификатор экземпляра и нажмите Connect. Скопируйте выделенную команду (я выделяю ее, а не AWS), используя значок копирования, расположенный оставленный из команды.
Откройте свой терминал. Если вы используете машину Windows, загрузите Git Bash или WSL (подсистема Windows для Linux). Если вы используете машину Linux, не беспокойтесь. Теперь CD в каталог, в котором вы загрузили эту клавишу SSH, вставьте копированную команду, и нажмите Enter, чтобы запустить ее.
Следуйте подсказке. Если вы получите ошибку на изображении ниже, не беспокойтесь, просто запустите:
chmod 400.pem
После выполнения запустите команду SSH еще раз, и теперь вы должны войти в свою виртуальную машину. Иппи! 😊
Кроме того, Git был успешно установлен. Помните, что мы указываем в наших пользовательских данных.
Шаг 4: Настройка сервера Nginx
Прежде чем настроить сервер Nginx, мы должны установить Nginx.
Nginx — это программное обеспечение с открытым исходным кодом для веб-сервировки, обратного прокси, кэширования, балансировки нагрузки, потоковой передаче медиа и многое другое — www.nginx.com.
Вообще в Linux есть операции, которые требуют права администратора, поэтому вам понадобятся Sudo команда. Мы можем выбрать исключить это и выполнять эти операции без прав администратора, запустив Судо Су команда.
Загрузите ключ подписания NGINX
wget http://nginx.org/keys/nginx_signing.key
Добавить загруженный ключ
apt-key add nginx_signing.key
Это должно быть ответом.
CD в каталог/etc/apt и отредактируйте файл источников.
nano sources.list
Как только ваш Nano Editor открыт, добавьте это в конец файла.
deb http://nginx.org/packages/ubuntu xenial nginx deb-src http://nginx.org/packages/ubuntu xenial nginx
Вернуться в домашний каталог
cd /home/ubuntu
Запустите команду обновления APT-Get, чтобы обновить программное обеспечение Nginx.
Как только обновление завершено, установите Nginx. Запустите эту команду:
apt-get install nginx
Если у вас есть проблемы, устанавливающие nginx. Если эта ошибка возникает, требуя установки зависимости LibsSL1.0.0.
Запустите эту команду последовательно.
echo "deb http://security.ubuntu.com/ubuntu bionic-security main" | sudo tee -a /etc/apt/sources.list.d/bionic.list sudo apt update apt-cache policy libssl1.0-dev sudo apt-get install libssl1.0-dev
Затем запустите снова, чтобы установить Nginx,
apt-get install nginx
Запустите службу Nginx. Запустите команду:
service nginx start
Чтобы убедиться, что служба Nginx работает и работает. Запустите эту команду:
systemctl status nginx
Давайте запустим наш экземпляр через браузер, если подается страница Nginx по умолчанию, то она отлично работает.
Прямо сейчас наша веб-страница не будет обслуживаться, вы заметите загрузку браузера без информации. Мы пропустили один важный шаг. Протокол для веб-браузеров для извлечения веб-страниц — http. Когда мы создадим наши группы безопасности, у нас было только одно правило, которое является правилом SSH. Нам нужно редактировать нашу группу безопасности, чтобы добавить в HTTP-правило.
Нажмите на группы безопасности. Нажмите на Редактировать входящие правила
Нажмите на Добавить правило Отказ Выберите HTTP. Установите блоки CIDR до 0,0.0.0/0 и нажмите Сохранить правила
Перезагрузите сервер Nginx. Запустите эту команду:
service nginx restart
Запустите экземпляр через браузер снова. Отредактируйте протокол в URL из HTTPS на http.
Это то, что мы должны иметь сейчас. Иппи!
Шаг 5: Развертывание нашего веб-приложения
Я буду развертывать приложение React.
Во-первых, нам нужно установить Nodejs. Приложение React не может функционировать без Nodejs.
apt update apt install nodejs
Подтвердите узел и NPM установлен
node -v npm -v
Если узел установлен, но NPM нет, просто запустите:
apt-get install npm
Далее клонируют ваш реактивный проект от GitHub.
git clone
Затем перейдите в каталог проекта, установите зависимости и создайте проект RACT. Запустите эти команды соответственно.
npm install npm run build
Далее скопируйте содержимое вашей сборки в каталог HTML в NGINX.
cp -r /home/ubuntu//build/. /usr/share/nginx/html
После этого перезапустите сервис Nginx и запустите свой экземпляр через браузер.
Поздравляю! Вы успешно развернули веб-приложение для AWS.
Заключение
Эта статья научила нас, насколько бесшовному это развернуть веб-приложение, используя AWS и NGINX. Перейти к AWS Docs Для получения дополнительных руководств по использованию услуг AWS.
Оригинал: «https://dev.to/saucekode/how-to-deploy-a-web-app-using-aws-and-nginx-51ij»