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

Обзор развертывания MEAN на сервере

Предварительные требования и базовые условия

Развертывание стека MEAN требует Linux-сервера с операционной системой Ubuntu или Debian. Процесс установки предполагает выполнение следующих системных условий:

  • Операционная система: Ubuntu или Debian (конкретные версии в предоставленной конфигурации не ограничены, однако версии Node.js различаются в зависимости от ОС).

  • Привилегии: Для установки системных пакетов и управления службами требуются права root или привилегии sudo.

  • Сеть: Сервер должен иметь исходящий доступ в интернет для загрузки пакетов с deb.nodesource.com и реестров npm.

  • Порты: Приложение использует стандартные порты для служб Node.js и PostgreSQL. Конкретные номера портов определяются в конфигурации приложения, которая не детализирована явно в исходных файлах, однако используется стандартный порт PostgreSQL 5432.

Структура файлов и каталогов

В процессе развертывания устанавливаются глобальные пакеты Node.js и компоненты системного уровня. Итоговая структура включает:

  • Бинарные файлы и модули Node.js устанавливаются глобально через npm.

  • Файлы данных и конфигурации PostgreSQL хранятся в стандартных местах, управляемых пакетом postgresql (обычно /var/lib/postgresql и /etc/postgresql).

  • Angular CLI и Express Generator устанавливаются глобально, что делает их доступными во всей системе.

  • Модуль pg устанавливается локально в контексте приложения или глобально в зависимости от среды выполнения, выступая в роли клиента PostgreSQL для Node.js.

Процесс установки приложения

Установка выполняется путем последовательного выполнения команд установки пакетов и конфигурации служб. Процесс незначительно различается для Ubuntu и Debian в отношении версии Node.js.

Для систем Ubuntu:

  1. Обновить кэш пакетов и установить предварительные требования (curl, gnupg, software-properties-common).

  2. Установить Node.js версии 22.x с использованием скрипта настройки NodeSource.

  3. Установить PostgreSQL и убедиться, что служба запущена и включена.

  4. Установить Angular CLI глобально.

  5. Установить Express Generator глобально.

  6. Установить пакет pg.

Для систем Debian:

  1. Обновить кэш пакетов и установить предварительные требования (curl, gnupg, software-properties-common).

  2. Установить Node.js версии 18.x с использованием скрипта настройки NodeSource.

  3. Установить PostgreSQL и убедиться, что служба запущена и включена.

  4. Установить Angular CLI глобально.

  5. Установить Express Generator глобально.

  6. Установить пакет pg.

Конкретные команды, выполняемые в процессе установки:

# Предварительные требования
apt-get update
apt-get install -y curl gnupg software-properties-common

# Node.js (Ubuntu - Версия 22.x)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs

# Node.js (Debian - Версия 18.x)
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt-get install -y nodejs

# PostgreSQL
apt-get install -y postgresql
systemctl start postgresql
systemctl enable postgresql

# Глобальные пакеты NPM
npm install -g @angular/cli
npm install -g express-generator
npm install pg

Базы данных

Развертывание включает сервер базы данных PostgreSQL.

  • Движок базы данных: PostgreSQL

  • Имя службы: postgresql

  • Статус: Служба настроена на автоматический запуск при загрузке (enabled: yes) и запускается сразу после установки.

  • Библиотека клиента: Пакет pg установлен для обеспечения подключения приложений Node.js к базе данных PostgreSQL.

  • Хранилище: Данные хранятся в стандартном каталоге данных PostgreSQL, управляемым пакетом операционной системы.

Запуск, остановка и обновление

Управление службой базы данных PostgreSQL осуществляется с помощью стандартных команд управления системными службами. Компоненты Node.js (Angular CLI, Express) являются инструментами командной строки и по умолчанию не работают как фоновые службы; они вызываются напрямую при сборке или запуске приложений.

Управление службой PostgreSQL:

  • Запуск службы:

    systemctl start postgresql
    

  • Остановка службы:

    systemctl stop postgresql
    

  • Перезапуск службы:

    systemctl restart postgresql
    

  • Включение при загрузке:

    systemctl enable postgresql
    

Обновление пакетов Node.js: Для обновления глобальных пакетов Node.js используются следующие команды:

npm update -g @angular/cli
npm update -g express-generator
npm update pg

Для обновления самого времени выполнения Node.js необходимо повторно выполнить соответствующий скрипт настройки NodeSource для версии ОС, а затем выполнить apt-get upgrade для пакета nodejs.

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