Что установлено на вашем сервере Node.js?
- Node.js 26 LTS и npm из репозитория NodeSource
- PM2 7: он поддерживает работу приложения и возвращает его после перезагрузки
- Caddy как обратный прокси: он сам получает HTTPS-сертификат, а сайт открывается по адресу sslip.io на основе вашего IP
- Непривилегированный пользователь app и папка проекта /home/app/uygulama
- Пример server.js, который слушает 127.0.0.1:3000
- git, чтобы вы могли подтянуть свой код
- Брандмауэр с открытыми портами 22, 80 и 443, порт приложения 3000 остаётся внутренним
Какой размер нужен для Node.js?
Официальной цифры RAM для Node.js нет. Ориентир такой: 1 ГБ годится для начала с одним API или небольшим приложением на Express, 2 ГБ удобнее, когда есть npm install и этап сборки, а 4 ГБ подходят для большой сборки фронтенда. Подкачка при установке не добавляется, поэтому сборка останавливается, когда кончается память. Когда вы добавляете ядра CPU, pm2 start server.js -i max запускает по одному процессу на ядро. Размер меняется в панели, а данные и IP-адрес остаются прежними.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Стартовый | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/мес. | |
| Средний | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/мес. | |
| Мощный | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/мес. |
Кому подходит?
- Разработчикам, которые пишут API на Express, Fastify или NestJS
- Приложениям с WebSocket, которые Caddy пропускает к вашему процессу
- Ботам, обработчикам очередей и задачам по расписанию, которые должны работать постоянно
- Тем, кто предпочитает сам вести обычный сервер, а не зависеть от платформы развёртывания
- Проектам с пользователями в Турции, которым нужно держать API в Стамбуле
Что будет после заказа?
- Задайте размер и оплатите заказ.
- Сервер запускается, и Node.js устанавливается сам. В наших проверках на настоящих серверах это заняло около 3 минут.
- На вкладке «Обзор» панели откройте ссылку «Адрес сайта». На примере страницы показана версия Node.js.
- Подключитесь по SSH, выполните su - app и перейдите в папку командой cd ~/uygulama. Удалите пример server.js и перенесите свой код командой git clone.
- Выполните npm install, затем pm2 delete uygulama, pm2 start server.js --name uygulama со своим входным файлом и pm2 save.
- Пусть приложение слушает порт 3000. Caddy перенаправляет на него входящие запросы HTTPS.
С каждым сервером
- Ежедневные бэкапы входят в цену
- Безлимитный трафик
- Полный root-доступ
- Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
- Расположение: Istanbul · IST-1.
Полезно знать
- Если ваше приложение слушает другой порт, измените строку reverse_proxy в /etc/caddy/Caddyfile и от имени root выполните systemctl reload caddy.
- Без pm2 save новый список процессов не сохраняется, и после перезагрузки вернётся старый.
- Инструменты сборки не входят в установку. Для пакетов, которые компилируют нативные модули, выполните от имени root apt install build-essential.
- База данных не устанавливается. Подключите приложение к отдельному серверу базы данных или установите её здесь сами.
- Node.js остаётся на основной версии 26. Исправления приходят через apt, но запуск apt upgrade и переход на новую основную версию остаются на вас.
- Если сертификат выпустить не удаётся, сайт открывается по http на вашем IP-адресе.
Node.js: вопросы и ответы
Как развернуть приложение Node.js на VPS?
Подключитесь по SSH, выполните su - app и перенесите код в ~/uygulama командой git clone. Выполните npm install, запустите приложение командой pm2 start и сохраните его командой pm2 save. Если оно слушает порт 3000, оно откроется по вашему HTTPS-адресу.
Сколько RAM нужно хостингу для Node.js?
Официальной цифры RAM для Node.js нет. Ориентир такой: 1 ГБ — хорошее начало для небольшого API, 2 ГБ — для проекта с этапом сборки и 4 ГБ — для большой сборки фронтенда. Если не хватит, увеличьте сервер в панели.
Вернётся ли приложение после перезапуска сервера?
Да. PM2 запускается при загрузке через службу systemd pm2-app и восстанавливает процессы, сохранённые командой pm2 save. После запуска нового приложения не забудьте выполнить pm2 save.
Можно ли запустить Next.js или Express?
Да, подойдёт любое приложение Node.js, которое слушает порт 3000. Для Next.js выполните npm run build, затем pm2 start npm --name uygulama -- start. Сборке обычно нужно больше памяти, чем работающему приложению, поэтому для большого проекта сначала увеличьте сервер.
Как подключить собственный домен к серверу Node.js?
Направьте A-запись домена на IP-адрес сервера. Замените старое имя везде в /etc/caddy/Caddyfile на свой домен и от имени root выполните systemctl reload caddy. Сертификат Caddy получает и продлевает сам.
Можно ли использовать другую версию Node.js?
Да, ведь у вас есть root. Установлена версия 26 LTS. Для другой версии установите nvm для пользователя app и укажите PM2 исполняемый файл node нужной версии через параметр --interpreter.