Деплой Node.js-приложения

    Команда Simple-Server
    03.06.2026
    4 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Установка необходимого ПО

    Прежде всего необходимо подготовить хост для деплоя веб-приложения. На облачные серверы устанавливаются разные ОС. В этом руководстве мы будем использовать в качестве примера машину с Ubuntu.

    Сначала получите последние обновления:

    Затем установите Node.js:

    sudo apt-get install nodejs

    И установите npm для управления пакетами Node.js:

    Чтобы убедиться в том, что инсталляция ПО прошла успешно, проверьте версии Node.js и npm:

    Подробнее о разных методах установки Node.js на Ubuntu мы писали здесь.

    Деплой Node.js-приложения начинается с переноса кода проекта на хост. Самый удобный способ сделать это — использовать систему контроля версий Git.

    Убедитесь, что на Ubuntu установлен Git:

    Если гита нет, установите его:

    Допустим, код проекта хранится на GitHub. Клонируйте его на сервер:

    git clone https://github.com/contentful/the-Simple-Server-app.nodejs

    После команды git clone укажите адрес репозитория, в котором хранится проект, чтобы выполнить его клонирование.

    Для нормальной работы приложения Node.js деплой должен включать также развёртывание зависимостей — всех пакетов, которые используются в проекте.

    Перейдите в корневой каталог вашего проекта и выполните:

    Эта команда проверит файл package.json в проекте и установит пакеты, которые нужны на продакшене. После их добавления на сервер вы можете запустить приложение с помощью команды:

    Вместо app.js укажите имя корневого файла приложения Node.js.

    Управление запуском и обновлением приложения

    Ваше Node.js-приложение уже работает на сервере. Но стоит вам закрыть терминал, как оно остановится. Есть и другая проблема — когда вы меняете код приложения, эти изменения не отражаются автоматически на сайте.

    Решить эту проблему можно с помощью менеджера процессов pm2. Этот пакет заставит приложение работать в фоновом режиме. Кроме того, менеджер будет отслеживать код и автоматически перезапускать сервер всякий раз, когда вы применяете изменения с помощью директивы --watch.

    Затем запустите сервер Node.js, используя pm2:

    sudo pm2 start app.js --name "web-app" --watch

    В примере мы использовали имя "web-app". Так будет называться запущенный процесс. Вы можете придумать любое другое имя. Директива --watch указывает на то, что pm2 необходимо перезапустить приложение при изменении исходного файла. Теперь все обновления, которые вы принесёте в код проекта, будут сразу отображаться в продакшене.

    Осталось разобраться ещё с одним моментом — автоматическим стартом веб-приложения при запуске/перезагрузке сервера. Для этого выполните следующие команды:

    sudo pm2 startup sudo pm2 save

    Вам нужно только один раз запустить команду startup, чтобы сгенерировать нужные параметры старта. Команда save указывает pm2 на необходимость сохранить текущие запущенные процессы.

    Теперь сервер будет продолжать работать вне зависимости от того, закроете ли вы терминал. После перезапуска системы все необходимые процессы также будут запускаться в автоматическом режиме.

    Вы можете узнать больше о работе pm2 из официальной документации.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны