Что установлено на вашем сервере 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 CPU и диск 20 ГБ. Если не хватит, RAM, CPU и диск можно увеличивать по отдельности в панели.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Стартовый | 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.
Полезно знать
- Оформляя заказ, вы принимаете условия лицензии MongoDB Server Side Public License (SSPL).
- 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.