Що встановлено на вашому сервері MEAN?
- Проєкт Angular 22, створений через Angular CLI, SSR вимкнено, у /home/app/uygulama/istemci
- Express 5 і Mongoose 9, де sunucu/server.js слухає 127.0.0.1:3000
- Node.js 26 з репозиторію NodeSource
- MongoDB 8.0 з увімкненою автентифікацією, доступна лише всередині сервера
- PM2 з процесом uygulama, який повертається після перезавантаження
- HTTPS через Caddy на адресі sslip.io, створеній на основі вашої IP-адреси, тож домен необов’язковий
- Файл підкачки на 2 ГБ, щоб збірка Angular не вичерпувала пам’ять
- Брандмауер із відкритими лише портами 22, 80 і 443
Який розмір потрібен для MEAN?
Офіційного обсягу RAM для MEAN немає. Для орієнтиру 2 ГБ — добрий початок для невеликого проєкту, а 4 ГБ — для проєкту зі сталим трафіком або такого, що збирається на сервері. Збірка Angular споживає найбільше пам’яті, тому інсталяція додає 2 ГБ підкачки й задає збіркам ліміт пам’яті Node.js 1,5 ГБ. Найменший розмір — 2 ГБ RAM, 1 процесор і диск 20 ГБ. Якщо цього не вистачить, збільшуйте RAM, процесор і диск окремо у своїй панелі.
| Використання | Розмір | Ціна | Обрати |
|---|---|---|---|
| Стартовий | 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/міс. |
Кому підійде?
- Проєкти з фронтендом на Angular і API на Express, готові до запуску
- Ті, хто переносить наявний застосунок MEAN на власний сервер
- Команди, що створюють внутрішні інструменти чи панелі адміністратора на TypeScript і Angular
Що буде після замовлення?
- Задайте розмір і завершіть оплату.
- Ваш сервер запускається, а стек MEAN встановлюється сам. У наших тестах на справжніх серверах це зайняло близько 4 хвилин.
- Відкрийте «Адресу сайту» на вкладці «Огляд» вашої панелі. Якщо на сторінці-прикладі написано MongoDB: OK, застосунок бачить базу даних.
- Підключіться через SSH, перейдіть до користувача app командою su - app і покладіть код у ~/uygulama/sunucu та ~/uygulama/istemci.
- Зберіть проєкт Angular із теки istemci такою командою: npx ng build --output-path /home/app/uygulama/sunucu/public
- Виконайте pm2 restart uygulama. Ваш застосунок має слухати порт 3000.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Замовляючи, ви приймаєте умови Server Side Public License (SSPL) від MongoDB.
- Express віддає результат збірки Angular із sunucu/public/browser. Якщо ви змінюєте шлях виводу, оновіть і server.js.
- Синтаксис маршрутів в Express 5 змінився: символи підстановки мають бути з іменами, а знака питання для необов’язкових параметрів більше немає. Перевірте свої маршрути, перш ніж переносити код Express 4.
- Підтримувати Node.js, MongoDB і ваші пакети npm в актуальному стані — ваша відповідальність.
- Виконайте pm2 save після додавання чи видалення процесів, інакше після перезавантаження повернеться старий список.
MEAN: запитання й відповіді
Як розгорнути проєкт зі стеком MEAN?
Підключіться через SSH і введіть su - app. Покладіть код Express у ~/uygulama/sunucu, а код Angular — у ~/uygulama/istemci. Виконайте npm install в обох теках, зберіть Angular, потім виконайте pm2 restart uygulama. Адреса бази даних — MONGO_ADRES у sunucu/.env.
Скільки RAM потрібно стеку MEAN?
Офіційного обсягу RAM для стека MEAN немає. Для орієнтиру 2 ГБ — добрий початок для невеликого проєкту, а 4 ГБ — для проєкту зі сталим трафіком. Якщо під час збірки бракує пам’яті, зберіть Angular на своєму комп’ютері й скопіюйте результат.
Чи запрацює тут мій старіший проєкт Angular?
На сервері встановлено Node.js 26. Angular 22 офіційно підтримує відповідні випуски Node 22, 24 і 26. Якщо старіша версія Angular не підтримує Node 26, оновіть проєкт командою ng update.
Чи можна використовувати Angular SSR?
Приклад проєкту створено з вимкненим SSR: Angular збирається, а Express віддає статичні файли. Щоб додати SSR, виконайте ng add @angular/ssr і запустіть згенерований серверний файл через PM2. Якщо він слухає порт 3000, налаштування Caddy змінювати не потрібно.
Як дістатися до MongoDB зі свого комп’ютера?
MongoDB не відкрита назовні. Відкрийте тунель SSH командою ssh -L 27017:127.0.0.1:27017 root@IP, потім введіть у Compass mongodb://yonetici:[email protected]:27017/?authSource=admin. Для MongoDB беріть пароль із рядка «Пароль» у блоці «Логін», а для SSH — із блоку «Ім'я користувача».
Як підключити власний домен до сервера MEAN?
Спрямуйте A-запис домену на IP-адресу сервера. Замініть стару назву скрізь у /etc/caddy/Caddyfile на свій домен і виконайте від імені root systemctl reload caddy.