Для развертывания приложений на Node.js нам необходим сервер. Если проект небольшой и на начальном этапе развития, то наиболее простым и дешевым способом для его размертывания будет виртуальный хостинг. Какой хостинг выбрать? Рассмотрим некоторые ключевые аспекты, которые надо учесть при выборе виртуального хостинга под Node.js:
Производительность сервера:
Оперативная память (RAM): Убедитесь, что выделенной оперативной памяти достаточно для обработки запросов вашего приложения и хранения временных данных.
Тип процессора: Узнайте тип CPU — некоторые недорогие провайдеры используют устаревшие модели серверов с низкими показателями производительности. Для Node.js важна производительность ядра процессора, поскольку одно ядро часто обрабатывает запросы последовательно.
Количество ядер и потоков: Чем больше ядер доступно, тем лучше масштабируется приложение, особенно если оно многопоточное.
Скорость сети и пропускная способность:
Узнайте среднюю скорость загрузки страниц и стабильность канала передачи данных между вашим приложением и пользователями.
Поддержка современных технологий:
Поддерживает ли провайдер новейшие версии Node.js?.
Возможна ли установка необходимых модулей npm?
Доступность инструментов мониторинга и управления производительностью.
Масштабируемость:
Возможность быстро увеличить ресурсы сервера (CPU, RAM), добавить балансировщик нагрузки и настроить горизонтальное масштабирование
Наличие автоматических решений для распределения нагрузки (load balancing) и резервирования ресурсов.
К сожалению, в России не так много хостинг-провайдеров предоставляют услуги виртуального хостинга с поддержкой Node.js, но тем не менее такие есть. Рассмотрим эти платформы.
Timeweb.com представляет хостинг с поддержкой Node.js и npm. Для установки Node.js применяется утилита nvm.
Минимальный тарифный план для хостинга на Node.js называется "Year+" и стоит 164 рублей в месяц (при оплате на больший срок имеются скидки) и предоставляет следующие возможности:
Объем дискового пространства (NVMe) под проекты: до 15 Гб
Объем ежемесячного трафика: безлимитный
Количество сайтов: 2
Доступные базы данных: MySQL 5.6 / 5.7
Доступные версии Node.js: ограничены версией, которая поддерживается на текущей ОС Ubuntu на сервере
Максимальная суточная нагрузка на процессор: 100 CP
Максимальная суточная нагрузка на MySQL: 4000 сек
Максимальный размер памяти на процесс: 1024
Максимальное время исполнения скрипта: 800
Ежедневное резервное копирование
Управление задачами по расписанию - Cron
SSH, sFTP/FTP, SCP доступ (безопасное копирование)
POP3, IMAP, SMTP сервисы с шифрованием для работы с почтой
Защищённый Web-интерфейс для работы с почтой
Настройку SMS-уведомлений об основных событиях на аккаунте
Доступен бесплатный SSL-сертификат, бесплатный DNS-хостинг, можно попробовать бесплатно в течение 10 дней
Подробно про установку Node.js на Timeweb:
Хостинговый сервис Jino предоставляет услуги виртуального хостинга для приложений на JavaScript и Node.js. Для развертывания приложений на Node.js применяется концепция хостинг-контейнера — это аккаунт виртуального хостинга с поддержкой интерпретатора Python. На одном аккаунте пользователь может создать несколько независимых хостингов — хостинг-контейнеров. Каждый такой контейнер работает как полноценный хостинг.
В то же время на Jino отсутствует единый минимальный тариф: хостинг позволяет пользователю самому определить различные параметры хостинга. По факту нет ежемесячной оплаты как таковой: все необходимые функции и сервисы можно подключать в режиме онлайн, и отключать, если необходимость в них пропала. Таким образом, плата идет только за те ресурсы, которые действительно используются. Тарификация услуг проводится посуточно. Тем не менее представлю общие возможности хостинга, на которые может рассчитывать пользовать по минимальной цене:
Объем дискового пространства: 10 Гб
Количество баз данных MySQL: Минимально можно добавить 100 баз, что увеличит стоимость на 58 ₽/мес
Общий размер всех баз MySQL: Общий размер минимально допустимых 100 баз составляет 30 ГБ
Поддержка Node.js обойдется в 72 ₽/мес
Доступ по протоколу SSH: обойдется в 12,6 ₽/мес
SSL-сертификат бесплатно: имеется (Let's Encrypt)
Антивирус: 297 ₽/мес
Дополнительный IPv4-адрес: 147 ₽/мес
Бесплатный тестовый период: 30 дней
Полезные ссылки про настройку Node.js на Jino:
Спринтхост также представляет виртуальный хостинг с поддержкой Node.js. Работа с приложениями на Node.js реализована через специальный модуль Phusion Passenger для Apache. Минимальный тарифный план для хостинга называется "Плюсик" и стоит от 99 рублей в месяц (при оплате на год) со следующими характеристиками:
Объем дискового пространства: 1 Гб
Количество сайтов: 1
Мощность процессора: 5000
Объем RAM: 512 МБ
Базы данных MySQL: 1
Объем ежемесячного трафика: безлимитный
Поддерживаемые версии Node.js: Node.js 12, 10, 12, 14
Поддерживаемые версии MySQL: MySQL 5.7 / 8.0
Поддержка Memcached: имеется (до 1 Гб)
Поддержка Redis: имеется (до 1 Гб)
Доступ по протоколу FTP: имеется
Доступ по протоколу SSH: имеется
Почтовые протоколы POP3, IMAP, SMTP: имеется
Количество почтовых ящиков: Безлимитный
Антиспам: имеется
SSL-сертификат бесплатно: имеется
Автоматическое ежедневное резервное копирование данных: имеется
Антивирусная проверка: имеется
Бесплатный тестовый период: 30 дней
Полезные ссылки про настройку Node.js на Спринтхост: