Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Развёртывание сайта на Node.js + PM2 + Nginx

  • Шаг 1: Подготовка сервера
  • Шаг 2: Развёртывание Node.js-приложения
  • Шаг 3: Установка и настройка PM2
  • Шаг 4: Настройка Nginx как обратного прокси
  • Шаг 5: Установка SSL-сертификата Let's Encrypt

Использование VDS (виртуального выделенного сервера) даёт множество преимуществ для проектов на Node.js:
1. Гибкость – Полный контроль над сервером позволяет устанавливать нужные версии Node.js, базы данных и другие инструменты.
2. Производительность – В отличие от shared-хостинга, ресурсы не делятся с другими пользователями, что снижает задержки.
3. Безопасность – Возможность настраивать брандмауэры, SSH-доступ и другие защитные механизмы.
4. Масштабируемость – Легко расширять ресурсы при увеличении нагрузки.
5. Надёжность – PM2 обеспечивает автоматический перезапуск приложения при сбоях, а Nginx помогает эффективно распределять нагрузку.

Теперь разберём процесс развертывания Node.js-сайта на VDS с использованием PM2 и Nginx.

Шаг 1: Подготовка сервера

Если сервер только что куплен, то проведите базовую подготовку сервер к работе: Подготовка сервера Linux к работе

1. Обновите систему

    apt update && apt upgrade -y
    

Установка Node.js

Сначала установим Node.js и npm (Node Package Manager).
Лучше всего использовать nvm (Node Version Manager), чтобы легко управлять версиями:

    curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc
nvm install --lts
    

Проверьте установку:

    node -v
npm -v
    

Вы увидите версии

Версии установленных пакетов

Шаг 2: Развёртывание Node.js-приложения

1. Создайте каталог для проекта

    mkdir -p ~/nodeapp && cd ~/nodeapp
    

2. Создайте простой сервер на Node.js
Создадим файл server.js и вставим код:

    nano server.js
    
    const http = require('http');
const port = 3000;

const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello, Node.js on VDS!');
});

server.listen(port, () => {
    console.log(`Server running at http://localhost:${port}/`);
});
    

Сохраните с помощью Ctrl-X, Y, Enter

3. Установите зависимости (если используются)

    npm init -y
npm install express
    

4. Теперь можно запустить сервер:

    node server.js
    

Сайт будет доступен по адресу http://your-vds-ip:3000/.
your-vds-ip - ip адрес вашего сервера

сайт доступен по ip

Шаг 3: Установка и настройка PM2

PM2 помогает управлять Node.js-приложениями, автоматически их перезапускать и запускать при старте сервера.

1. Установите PM2

    npm install -g pm2
    

2. Запустите приложения под управлением PM2

    pm2 start server.js --name "nodeapp"
    

3. Сохраните процесс и запуск при старте системы

    pm2 save
pm2 startup
    

Выполните команду, которую предложит PM2 (например, sudo systemctl enable pm2-root).

PM2 установка

4. Проверьте статус:

    pm2 list
    
PM2 список процессов

Для остановки можно использовать:

    pm2 stop nodeapp
    
PM2 остановка

Шаг 4: Настройка Nginx как обратного прокси

Подробнее про его настройку можете прочитать в статье: Инструкция по установке и настройке Nginx

1. Создайте конфигурации для Node.js-сайта
Создайте новый конфигурационный файл:

    nano /etc/nginx/sites-available/nodeapp
    

Добавьте следующий код:

    server {
    listen 80;
    server_name 147.45.125.183; # укажите ваш ip или домен

    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;
    }
}
    

Сохраните файл и создайте символьную ссылку:

    ln -s /etc/nginx/sites-available/nodeapp /etc/nginx/sites-enabled/
    

Проверьте конфигурацию и перезапустите Nginx:

    nginx -t
systemctl restart nginx
    

Теперь сайт доступен по http://yourdomain.com/ или http://your-vds-ip/. Без указания порта.

Nginx настройка

Шаг 5: Установка SSL-сертификата Let's Encrypt

Этот шаг нужен, если у вас есть домен и нужно соединение https

1. Для защиты сайта установите бесплатный SSL-сертификат:

    apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

2. Настройте автоматическое обновление сертификатов:

    certbot renew --dry-run
    

После этого ваш сайт будет работать по HTTPS.

Теперь ваш Node.js-сайт запущен на VDS с PM2 и Nginx:

  • Node.js обеспечивает работу веб-приложения.
  • PM2 автоматически перезапускает сервер при сбоях и загрузке системы.
  • Nginx работает как обратный прокси, принимая запросы и перенаправляя их в Node.js.
  • SSL-сертификат защищает сайт и улучшает SEO.

Это надёжное, масштабируемое и безопасное решение для продакшн-развёртывания Node.js-приложений. ?

Ознакомиться с тарифами на надёжные серверы для хостинга ваших приложений вы можете по ссылке: Тарифы на VDS

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ