Що встановлено на вашому сервері 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 ГБ підійде для великої збірки фронтенду. Ця інсталяція не додає підкачки, тож збірка зупиняється, коли закінчується пам’ять. Коли ви додаєте ядра процесора, 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.