Перейти к содержанию

Обзор развертывания 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, если иное не указано в коде приложения.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×