Разработка / Руководство

Выбор сервера и развёртывание Node.js

Выбор сервера Node.js начинается с того, как работает приложение. Статический вывод, рендеринг на стороне сервера, API и обработчик очереди не имеют одинаковых потребностей в развертывании.

Определите, как работает приложение

Если проект создает только статический HTML/CSS/JavaScript, выходные файлы можно публиковать на статическом хостинге. Если на стороне сервера запущен API или процесс рендеринга, процесс Node.js должен выполняться непрерывно. Это различие напрямую меняет потребность в инфраструктуре.

Также перечислите WebSocket, запланированные задачи и фоновых работников. Не думайте, что стандартный PHP-хостинг поддерживает их. Получите от поставщика четкую политику выполнения и процессов.

Время выполнения и зависимости

Выберите версию Node.js, которая все еще поддерживается, и проверьте совместимость ваших зависимостей. Отдельные статусы «Активный LTS», «Обслуживающий LTS» и «Окончание поддержки» в официальном календаре выпусков. Не делайте версию, написанную в старом образце, постоянным выбором.

Используйте повторяемую установку с файлом блокировки. Собственные модули могут зависеть от операционной системы и архитектуры процессора; Не предполагайте, что файлы, подготовленные в другой среде, будут работать на целевом сервере без их тестирования.

Сборка, управление процессами и обратный прокси

Измеряйте требования к памяти, возникающие во время компиляции, отдельно от обычного рабочего потребления. Отделение интенсивного процесса сборки от работающего приложения может быть полезно на небольших серверах. Сохраните старый рабочий вывод, чтобы можно было откатить выпущенную версию.

Определите, как процесс приложения запускается при запуске сервера и перезапускается в случае сбоя. Управляйте HTTPS и внешними соединениями через обратный прокси-сервер. Проверьте продвижение соединения и поведение тайм-аута в проекте с помощью WebSocket.

Контрольный список производства

  • Показывает ли проверка работоспособности, что приложение действительно работает?
  • Разве пароли и ключи API не включены в клиентский пакет?
  • Содержат ли журналы личные данные или секреты?
  • Управляются ли соединения с базой данных и очередью при ошибке?
  • Есть ли проверенный метод отмены трансляции?

Варианты хостинга Node.js Учитывайте тип вашего приложения, потребности в базе данных и непрерывном процессе вместе. Добавьте обслуживание операционной системы к стоимости VDS.

Ресурсы и дополнительная литература

Сравните подходящий сервис для вашего проекта.

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