Обзор развертывания MEAN на сервере¶
Предварительные требования и базовые условия¶
Для развертывания стека MEAN требуется сервер Linux с операционной системой Ubuntu или Debian. Процесс установки предполагает выполнение следующих условий:
-
Операционная система: Ubuntu или Debian
-
Привилегии: Доступ root или пользователь с правами
sudo -
Сеть: Требуется доступ в Интернет для загрузки пакетов и зависимостей
-
Порты: Стандартные порты для PostgreSQL (5432) и приложения Node.js (по умолчанию 3000 или 8080, в зависимости от конфигурации)
Структура файлов и каталогов¶
Компоненты приложения устанавливаются глобально или в стандартные системные каталоги. Ключевые расположения включают:
-
Бинарные файлы Node.js:
/usr/bin/nodeи/usr/bin/npm -
Angular CLI: Установлен глобально через
npm -
Express Generator: Установлен глобально через
npm -
Каталог данных PostgreSQL:
/var/lib/postgresql -
Конфигурация PostgreSQL:
/etc/postgresql -
Исходный код приложения: Обычно находится в домашней директории пользователя или в выделенной папке проекта (например,
/var/www/mean-app)
Процесс установки приложения¶
Стек MEAN устанавливается с использованием менеджеров пакетов и менеджера пакетов Node.js (npm). Процесс включает установку основных компонентов: MongoDB явно не устанавливается в предоставленных скриптах; вместо него в качестве бэкенда базы данных используется PostgreSQL.
-
Node.js:
-
На Ubuntu: Версия 22.x устанавливается через репозиторий NodeSource.
-
На Debian: Версия 18.x устанавливается через репозиторий NodeSource.
-
Angular CLI: Устанавливается глобально с помощью команды
npm install -g @angular/cli. -
Express: Устанавливается глобально с помощью команды
npm install -g express-generator. -
Клиент PostgreSQL для Node.js: Устанавливается с помощью команды
npm install pg.
Скрипты установки гарантируют наличие всех предварительных требований, включая curl, gnupg и software-properties-common, перед продолжением процесса.
Базы данных¶
В качестве системы управления базами данных для данного развертывания используется PostgreSQL.
-
Установка: Устанавливается через менеджер пакетов
apt. -
Статус службы: Служба PostgreSQL запускается и настраивается на автоматический запуск при загрузке системы.
-
Метод подключения: Приложения подключаются к PostgreSQL с использованием клиентской библиотеки
pgдля Node.js. -
Расположение хранилища: Файлы базы данных хранятся в
/var/lib/postgresql. -
Конфигурация: Настройки базы данных управляются через файлы в каталоге
/etc/postgresql.
Права доступа и безопасность¶
Скрипты установки явно не настраивают правила межсетевого экрана (firewall), ограничения пользователей или дополнительные уровни безопасности за пределами стандартных настроек ОС. Администраторам следует вручную настроить:
-
Правила межсетевого экрана для разрешения трафика на требуемых портах (например, 5432 для PostgreSQL, 3000 для приложения).
-
Права пользователей для доступа к приложению и базе данных.
-
Сертификаты SSL/TLS, если требуется внешний доступ.
Настройки разрешений¶
Разрешения на файлы и каталоги устанавливаются по умолчанию во время установки пакетов через apt и npm. В предоставленных скриптах явные изменения разрешений не применяются. Администраторам следует проверить:
-
Владельство каталогов приложения (обычно это пользователь, запускающий приложение Node.js).
-
Права на чтение/запись для каталога данных PostgreSQL.
-
Права на выполнение для скриптов и бинарных файлов Node.js.
Запуск, остановка и обновление¶
Управление службами для установленных компонентов осуществляется следующим образом:
-
PostgreSQL:
-
Запуск:
systemctl start postgresql -
Остановка:
systemctl stop postgresql -
Перезапуск:
systemctl restart postgresql -
Включение при загрузке:
systemctl enable postgresql -
Приложение Node.js:
-
Приложение не управляется как служба systemd в предоставленных скриптах. Его необходимо запускать вручную с помощью команды
nodeилиnpm startвнутри каталога приложения. -
Для обновления приложения необходимо получить последнюю версию кода и переустановить зависимости с помощью команды
npm install.
Доступные порты для подключения¶
Следующие порты используются развернутыми компонентами:
| Компонент | Порт по умолчанию | Описание |
|---|---|---|
| PostgreSQL | 5432 | Подключение к базе данных |
| Приложение Node.js | 3000 | Сервер приложения (по умолчанию) |
| Nginx/Traefik | 80/443 | Не настроено в предоставленных данных |
Примечание: Предоставленные скрипты не настраивают обратный прокси-сервер или веб-сервер. Порт 3000 является портом по умолчанию для приложений Node.js, если иное не указано в коде приложения.