Назад

VPS-хостинг зі стеком MERN, уже встановлений

Хостинг зі стеком MERN дає змогу віддавати фронтенд на React і API на Express з одного сервера за однією HTTPS-адресою. MongoDB, Express, React, Node.js, PM2 і Caddy встановлюються самі після оплати, відкривається приклад застосунку, що пише в базу даних, а адреса й пароль MongoDB з’являються у вашій панелі. Замініть приклад власним проєктом і керуйте сервером як завгодно, маючи доступ root.

Скільки потужності вам потрібно?

Разом$4.01/міс.

Ціни містять ПДВ.

Збільшуйте або зменшуйте RAM і CPU, коли захочете. Диск можна лише збільшувати, тож почніть з малого.

Що встановлено на вашому сервері MERN?

  • Проєкт React, створений через Vite, у /home/app/uygulama/istemci
  • Express 5 і Mongoose 9 у sunucu/server.js, з маршрутом /api/saglik, що справді пише в MongoDB
  • Node.js 26 (репозиторій NodeSource) і PM2
  • MongoDB 8.0, що слухає лише 127.0.0.1 і захищена користувачем та паролем
  • Caddy, який сам отримує сертифікат HTTPS для адреси sslip.io, тож домен не обов’язковий
  • Файл підкачки на 2 ГБ і брандмауер, де відкриті лише порти 22, 80 і 443

Який розмір потрібен для MERN?

Офіційного обсягу RAM для MERN немає. На цьому сервері Node.js, MongoDB і збірки React ділять одну пам’ять, а кеш MongoDB становить 512 МБ за 2 ГБ і 1,5 ГБ за 4 ГБ. Для орієнтиру 2 ГБ — добрий початок для демо чи невеликого проєкту, а 4 ГБ — для проєкту зі справжніми користувачами. Найменший розмір — 2 ГБ RAM, 1 процесор і диск 20 ГБ. RAM і процесор можна збільшувати й зменшувати, диск лише зростає, а дані та IP-адреса лишаються тими самими.

ВикористанняРозмірЦінаОбрати
Стартовий 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/міс.
Середній 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/міс.
Потужний 8 GB RAM · 4 vCore · 120 GB NVMe $13.62/міс.

Кому підійде?

  • Усі, кому потрібні фронтенд на React і API на Express на одному сервері
  • Розробники, що публікують на власному сервері застосунок React, створений за допомогою інструментів ШІ
  • Невеликі команди, що випускають демо, першу версію чи внутрішній інструмент

Що буде після замовлення?

  1. Задайте розмір і завершіть оплату.
  2. Ваш сервер запускається, а стек MERN встановлюється сам. У наших тестах на справжніх серверах це зайняло близько 4 хвилин.
  3. Відкрийте «Адресу сайту» на вкладці «Огляд». На сторінці-прикладі написано MongoDB: OK.
  4. Підключіться через SSH і введіть su - app. Покладіть проєкт у ~/uygulama: React — в istemci, Express — у sunucu.
  5. Зберіть проєкт із теки istemci: npm run build -- --outDir ../sunucu/public --emptyOutDir
  6. Виконайте pm2 restart uygulama і перевірте зміну за своєю адресою сайту.

З кожним сервером

  • Щоденне резервне копіювання входить у ціну
  • Необмежений трафік
  • Повний доступ root
  • Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
  • Розташування: Istanbul · IST-1.

Корисно знати

  • Замовляючи, ви приймаєте умови Server Side Public License (SSPL) від MongoDB.
  • Caddy пересилає запити на 127.0.0.1:3000. Слухайте цей порт у власному серверному файлі, а адресу бази даних читайте з MONGO_ADRES у sunucu/.env.
  • Змінні, що починаються з VITE_, під час збірки записуються у ваш код і видимі в браузері. Не кладіть у них секрети й перезбирайте проєкт, коли значення змінюється.
  • Якщо ваш вхідний файл не server.js, перевизначте процес: pm2 delete uygulama, pm2 start FILE --name uygulama, pm2 save.
  • Вузол MongoDB один. Для транзакцій або потоків змін із Mongoose налаштуйте набір реплік.
  • Підтримувати Node.js, MongoDB і ваші пакети npm в актуальному стані — ваша відповідальність.

MERN: запитання й відповіді

Як розгорнути проєкт зі стеком MERN?

Перейдіть командою su - app і покладіть код Express у ~/uygulama/sunucu, а код React — у ~/uygulama/istemci. Виконайте npm install в обох теках, зберіть проєкт із istemci командою npm run build -- --outDir ../sunucu/public --emptyOutDir, потім виконайте pm2 restart uygulama.

Скільки RAM потрібно стеку MERN?

Офіційного обсягу RAM для стека MERN немає. Для орієнтиру 2 ГБ — добрий початок для демо чи невеликого проєкту, а 4 ГБ — для проєкту зі справжніми користувачами.

Чи потрібно налаштовувати CORS?

За такої схеми ні. React збирається, Express віддає результат, а API лежить за тією самою адресою, тож фронтенд звертається напряму до шляхів, що починаються з /api. Якщо розміщуєте фронтенд деінде, CORS в Express налаштовуєте самі.

Чи дає React Router помилку 404 під час оновлення сторінки?

Ні. server.js із прикладу повертає index.html для будь-якого невідомого шляху, і далі працює React Router. Якщо пишете власний серверний файл, збережіть цю поведінку й визначайте маршрути API перед нею.

Чи можна підключитися до MongoDB ззовні?

На цьому сервері MERN MongoDB слухає лише всередині сервера. Щоб скористатися Compass, відкрийте тунель SSH командою ssh -L 27017:127.0.0.1:27017 root@IP.

Чи повернеться мій застосунок після перезавантаження?

Так. PM2 працює як служба pm2-app, яка під час запуску відновлює збережений список процесів. Змінивши процеси, збережіть список командою pm2 save.

Читайте далі й дивіться схожі застосунки