Если вы хотите развернуть свое приложение Node.js и предоставить ему возможности Amazon Web Services (AWS), вы попали по адресу. В этом руководстве я покажу вам процесс развертывания вашего приложения Node.js на экземпляре AWS EC2. В этом пошаговом руководстве предполагается, что у вас есть базовые знания о Node.js, AWS и командной строке.

Предпосылки

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

  • Активный аккаунт AWS.
  • Приложение Node.js готово к развертыванию.

Шаг 1: Запуск экземпляра EC2

  1. Войдите в Консоль управления AWS.
  2. Перейдите на страницу инстансов EC2 в консоли AWS. и нажмите на кнопку Запустить экземпляр.
  3. Выберите образ машины Amazon (AMI), соответствующий требованиям вашего приложения. Для приложения Node.js вы можете выбрать Amazon Linux 2 AMI.
  4. Выберите подходящий тип экземпляра в зависимости от потребностей вашего приложения, например t2.micro.
  5. Настройте детали экземпляра, включая количество экземпляров, сетевые настройки и хранилище по умолчанию.
  6. Настройте группы безопасности, чтобы разрешить входящий трафик на нужные порты (например, порты 80 и 443 для HTTP и HTTPS).
  7. В разделе «Настройка сведений об экземпляре» вы найдете шаг по настройке пары ключей экземпляра. Если у вас нет существующей пары ключей, выполните следующие действия:
  8. Выберите «Создать новую пару ключей» в раскрывающемся списке.
    • Введите имя для вашей пары ключей.
    • Нажмите «Загрузить пару ключей», чтобы загрузить файл закрытого ключа (файл .pem) на ваш локальная машина. Этот ключ будет использоваться для безопасного подключения к вашему экземпляру.
  9. Просмотрите свою конфигурацию и нажмите «Запустить», чтобы создать экземпляр.

Шаг 2. Подключитесь к экземпляру EC2

  • В терминале выполните следующие команды для SSH в вашем экземпляре. Замените «‹path/to/pem/file›» на путь к вашему файлу, например «~/Downloads/nodejs.pem» и «‹publicIpAddress›» с общедоступным IP-адресом для вашего экземпляра EC2.
ssh -i path/to/your/key.pem ec2-user@your-instance-public-ip

Шаг 3. Подготовьте экземпляр

  1. Обновите репозитории пакетов
sudo yum update -y

2. Установите Node.js и npm

sudo yum install -y nodejs

3. Установите Гит

sudo yum install git -y

4. Клонируйте свой репозиторий GitHub

sudo git clone <your-repository-url>

Если у вас нет репозитория, вы можете клонировать этот репозиторий.

Шаг 4. Настройте приложение Node.js

1. Зайдите в клонированную папку

cd <your-app-directory>

2. Установите все зависимости проекта node.js

npm install

3. Установите Nginx

sudo yum install nginx

4. Создайте файл конфигурации Nginx в /etc/nginx/conf.d/

cd /etc/nginx/conf.d/
touch my_app.conf
sudo nano /etc/nginx/conf.d/my_app.conf

5. Запишите это в файл my_app.conf.

server {
    listen 80;
    server_name your-domain.com;

   location / {
        proxy_pass http://localhost:your-app-port;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Измените server_name на общедоступный IP-адрес вашего экземпляра и измените your-app-port на 3000. Поскольку node.js работает на порту 3000.

После внесения изменений в файл конфигурации Nginx вы можете сохранить текстовый редактор и выйти из него, выполнив следующие действия:

Нажмите Ctrl + O, чтобы записать изменения в файл.
Нажмите Enter, чтобы подтвердить имя файла.
Нажмите Ctrl + X, чтобы выйти из текстового редактора.

Шаг 5. Проверка конфигурации Nginx

Перед перезапуском Nginx рекомендуется проверить конфигурацию на наличие синтаксических ошибок.

sudo nginx -t

Вы получите это. Если вы получите это, синтаксис вашего файла и тест будут успешными.

nginx: синтаксис конфигурационного файла /etc/nginx/my_app.conf в порядке
nginx: конфигурационный файл /etc/nginx/my_app.conf тест прошел успешно

Шаг 6. Перезапустите Nginx

Если проверка конфигурации прошла успешно, перезапустите Nginx, чтобы изменения вступили в силу.

sudo systemctl restart nginx

Шаг 7. Изменение группы безопасности для разрешения порта 3000

  1. Перейдите к панели инструментов EC2.
  2. Выберите созданный вами экземпляр для развертывания приложения Node.js.

3. На вкладке «Описание» внизу вы найдете раздел «Группы безопасности». Нажмите на группу безопасности, связанную с вашим экземпляром.

4. На вкладке «Правила для входящих подключений» нажмите «Изменить правила для входящих подключений».

5. Нажмите «Добавить правило».

6. Выберите «Пользовательское правило TCP» в раскрывающемся списке «Тип».

7. Установите «Диапазон портов» на 3000.

8. В поле «Источник» у вас есть несколько вариантов:

  • Чтобы разрешить доступ с любого IP-адреса (не рекомендуется для производства), используйте 0.0.0.0/0.

9. Нажмите «Сохранить правила». Теперь группа безопасности вашего экземпляра EC2 настроена на разрешение входящего трафика через порт 3000, который является портом, на котором работает ваше приложение Node.js.

Шаг 8. Запустите проект

Зайдите в папку, в которой клонирован ваш проект.

cd <your-app-directory>
npm start

Сделав это, вы сможете получить доступ к своему приложению Node.js, перейдя к общедоступному IP-адресу или DNS экземпляра EC2, а затем к порту 3000 в своем веб-браузере. Например: http://ваш-экземпляр-публичный-ip:3000.

Спасибо, что дочитали до конца. Пожалуйста, следите за автором и этой публикацией. Посетите Stackademic, чтобы узнать больше о том, как мы демократизируем бесплатное обучение программированию по всему миру.