Як розгорнути Node.js бекенд на AWS EC2 з SSL сертифікатом у 2025 році

pic

Чому AWS EC2 для Node.js?

AWS EC2 надає гнучкі обчислювальні можливості в хмарі, що дозволяє розгортати додатки з високою доступністю та масштабованістю. В поєднанні з SSL це забезпечує безпечну комунікацію між вашим бекендом і клієнтами, підвищуючи довіру користувачів і SEO-рангування.

Крок 1: Налаштування інстансу AWS EC2

Запуск інстансу:

  • Увійдіть у свою AWS Management Console.
  • Перейдіть до панелі EC2 і натисніть Launch Instance.
  • Виберіть останній AMI Amazon Linux 2023 або Ubuntu 22.04 для кращої безпеки та сумісності.
  • Виберіть тип інстансу (наприклад, t2.micro для безкоштовного рівня або t3.small для продакшн).

Налаштування деталей інстансу:

  • Переконайтеся, що автоматичний публічний IP-адрес увімкнений.
  • Додайте групу безпеки, що дозволяє трафік на портах 22 (SSH), 80 (HTTP) і 443 (HTTPS).

Ключова пара: Створіть нову ключову пару або використовуйте наявну. Завантажте файл .pem для доступу до інстансу.

Запустіть інстанс: Натисніть Launch і зачекайте, поки інстанс ініціалізується.

Крок 2: Налаштування Node.js на EC2

SSH доступ до інстансу:

ssh -i "your-key.pem" ec2-user@your-ec2-public-ip

Встановлення Node.js:

Для Amazon Linux:

sudo yum update -y  
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -  
sudo yum install -y nodejs

Для Ubuntu:

sudo apt update && sudo apt upgrade -y  
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -  
sudo apt install -y nodejs

Перевірка встановлення:

node -v  
npm -v

Завантажте ваш Node.js додаток:

Використовуйте scp або Git для передачі файлів вашого додатку:

scp -i "your-key.pem" -r /path/to/your/app ec2-user@your-ec2-public-ip:/home/ec2-user

Крок 3: Встановлення та налаштування PM2

Встановлення PM2:

sudo npm install -g pm2

Запуск вашого додатку:

pm2 start app.js  
pm2 save  
pm2 startup

Дозвіл трафіку на порт 80:

sudo firewall-cmd --add-port=80/tcp --permanent  
sudo firewall-cmd --reload

Крок 4: Налаштування домену та SSL сертифікату

Вказівка домену на ваш EC2 інстанс:

  • Оновіть A record вашого домену в DNS провайдері, щоб він вказував на публічний IP вашого EC2.

Встановлення Nginx:

sudo yum install -y nginx  
sudo systemctl start nginx  
sudo systemctl enable nginx

Встановлення Certbot для SSL:

Для Amazon Linux:

sudo yum install -y certbot python3-certbot-nginx

Для Ubuntu:

sudo apt install -y certbot python3-certbot-nginx

Налаштування SSL з Certbot:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Автоматичне оновлення SSL:

sudo crontab -e

Додайте цей рядок для оновлення SSL кожні 3 місяці:

0 0 * * 0 certbot renew --quiet

Крок 5: Оновлення Nginx для зворотного проксі

Редагування конфігурації Nginx:

sudo nano /etc/nginx/conf.d/yourdomain.com.conf

Додайте цю конфігурацію:

server {  
 listen 80;  
 server_name yourdomain.com www.yourdomain.com;  

 location / {  
 proxy_pass http://localhost:3000;  
 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;  
 }  
}

Перевірка та перезапуск Nginx:

sudo nginx -t  
sudo systemctl restart nginx

Крок 6: Оптимізація для SEO

Використовуйте HTTPS: Google віддає перевагу безпечним вебсайтам у своєму ранжуванні.
Забезпечте примусове використання HTTPS, перенаправляючи HTTP на HTTPS у конфігурації Nginx:

server {  
 listen 80;  
 server_name yourdomain.com www.yourdomain.com;  
 return 301 https://$host$request_uri;  
}

Оптимізація метаданих: Додайте мета-теги, такі як title, description і keywords, у ваші HTML шаблони.

Використання кешування: Використовуйте Nginx для налаштування заголовків кешування для статичних ресурсів.

Мобільна адаптивність: Переконайтеся, що ваш додаток є мобільним, оскільки Google надає перевагу адаптивним дизайнам.

Подання карти сайту: Використовуйте інструменти, як Google Search Console, для подання карти сайту для вашого домену.

Висновок

Розгортання Node.js бекенду на AWS EC2 з SSL є потужним способом масштабування вашого додатку при забезпеченні безпеки та готовності до SEO в 2025 році. Слідування цьому посібнику дозволить вам отримати повнофункціональний і безпечний сервер, готовий до обробки продукційного трафіку.

Готові підняти свій додаток на новий рівень? Почніть розгортати вже сьогодні!

Перекладено з: How to Deploy a Node.js Backend on AWS EC2 with SSL Certificate in 2025

Leave a Reply

Your email address will not be published. Required fields are marked *