В этой статье разберём базовые действия для установки веб‑сервера Angie в различные дистрибутивы Linux в виде пакетов или docker‑контейнеров.

Видеоверсия

Для вашего удобства подготовлена видеоверсия этой статьи, доступна на Rutube, VKVideo и YouTube.

Введение

Для установки Nginx не требуется подробной инструкции по установке, потому что пакеты как правило включены в состав дистрибутива. Установка обычно будет заключаться в выполнении одной из команд:

apt-get  install nginx
dnf install nginx

Однако, скорее всего будет установлена устаревшая версия и если требуется установить новейшую версию (stable или mainline), либо использовать docker‑контейнер, то понадобятся дополнительные действия.

Для установки Angie из пакетов в первую очередь необходимо настроить репозиторий, откуда мы будем их получать. Можно конечно просто скачать пакеты и поставить, но в таком случае мы не будем получать обновлений через пакетный менеджер.

Настройка репозитория и установка Angie OSS

Процесс настройки репозитория Angie в Linux зависит от конкретного дистрибутива. Мы рассмотрим два самых популярных пакетных менеджера на примере систем AlmaLinux 9.5 и Ubuntu 24.04. Кстати, пакеты в репозиториях Angie собираются под разнообразные дистрибутивы Linux, в том числе «российские», а также FreeBSD. Подробнее инструкции для вашего дистрибутива можно найти на этой странице.

Начнём с настройки репозитория в Ubuntu.

Добавляем репозиторий в Ubuntu

Сначала необходимо обновить список пакетов и установить зависимости:

sudo apt update
sudo apt install -y ca-certificates curl

Далее нужно скачать ключ репозитория Angie, который необходим для проверки подлинности пакетов при скачивании:

sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpg

Наконец, создаём запись о репозитории Angie в конфигурации пакетного менеджера. Здесь с помощью команд автоматически доставляется имя дистрибутива (версия), конфигурационный файл будет находится по следующему пути: /etc/apt/sources.list.d/angie.list. Если будет нужно удалить репозиторий, просто удалите этот файл.

echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
    | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null

Обновим список пакетов с учётом нового репозитория.

sudo apt update

Обращаем внимание на успешное завершения команды, если есть ошибки, то нужно вернуться и проверить выполнение предыдущих шагов.

Если обновление пакетов прошло успешно, установим Angie:

sudo apt install -y angie

Веб‑сервер Angie установлен, далее можно инсталлировать дополнительные пакеты с модулями, их названия можно найти на этой странице.

Например, можно установить модули для сжатия с помощью brotli и zstd:

sudo apt install -y angie-module-zstd angie-module-brotli

На этом установка завершена.

Добавляем репозиторий в AlmaLinux

Первым шагом добавляем описание репозитория в файл /etc/yum.repos.d/angie.repo, например так:

sudo nano /etc/yum.repos.d/angie.repo

Содержимое файла следующее:

[angie]
name=Angie repo
baseurl=https://download.angie.software/angie/almalinux/$releasever/
gpgcheck=1
enabled=1
gpgkey=https://angie.software/keys/angie-signing.gpg.asc

После этого можно устанавливать пакет с Angie:

sudo yum install -y angie

Также можно установить дополнительные модули:

sudo yum install -y angie-module-zstd angie-module-brotli

В RPM-дистрибутивах сервис после установки пакета не запускается, поэтому можно стартовать Angie:

sudo systemctl start angie

И добавить сервис в автозапуск, чтобы сервис стартовал при загрузке системы:

sudo systemctl enable angie

На этом установка завершена.

Настройка репозитория и установка Angie PRO

Если вы стали счастливым обладателем лицензии на Angie PRO, то процесс настройки репозитория немного отличается от стандартного. Разберём его на примере Ubuntu. Для доступа к репозиторию с Angie PRO нам понадобятся два файла: сертификат и закрытый ключ. Вы должны получить их от службы поддержки (support@angie.software).

Сначала создаём каталог для хранения сертификата (angie-repo.crt) и ключа (angie-repo.key).

sudo mkdir -p /etc/ssl/angie/

Копируем в директорию /etc/ssl/angie/ файлы сертификата и ключа. Ограничиваем доступ к файлам:

sudo chown -R _apt:nogroup /etc/ssl/angie/

Также не забываем положить в /etc/angie файл с лицензией, который снимет лимиты на количество рабочих процессов и подключений. Устанавливаем пакеты для работы репозитория:

sudo apt update
sudo apt install -y apt-transport-https lsb-release \
 ca-certificates curl gnupg2

Скачиваем открытый ключ репозитория Angie PRO для проверки подлинности пакетов:

sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
 https://angie.software/keys/angie-signing.gpg

Подключаем сам репозиторий Angie PRO:

echo "deb https://download.angie.software/angie-pro/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
    | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null

Далее настраиваем доступ к репозиторию с помощью ранее размещённых в директории /etc/ssl/angie/ файлов ключа и сертификата:

Acquire::https::download.angie.software::Verify-Peer "true";
Acquire::https::download.angie.software::Verify-Host "true";
Acquire::https::download.angie.software::SslCert     "/etc/ssl/angie/angie-repo.crt";
Acquire::https::download.angie.software::SslKey      "/etc/ssl/angie/angie-repo.key";

Репозиторий настроен, теперь можно обновить список пакетов и удостовериться в отсутствии ошибок:

sudo apt update

Установим пакет Angie PRO:

sudo apt install -y angie-pro

Далее установим дополнительные пакеты c модулями. Обратите внимание, что названия пакетов с модулями у PRO‑версии отличается от названия пакетов для OSS:

sudo apt install -y angie-pro-module-zstd angie-pro-module-brotli

Удостовериться в установке версии PRO также несложно (ps afx | grep angie):

  1101 ?        Ss     0:00 angie: master process v1.8.2 PRO #1 [/usr/sbin/angie -c /etc/angie/angie.conf]

Также можно проверить версию через angie -V:

Angie version: Angie/1.8.2 (PRO)

Установка на этом завершена.

Запуск Angie в Docker-контейнере

Для Angie поддерживается реестр Docker‑образов, собранных на базе различных Linux‑дистрибутивов. Также образы делятся на минимальные (суффикс ‑minimal или тэг:minimal) и полные (с установленными дополнительными модулями). Список установленных модулей можно найти на странице документации.

Существует также шаблонизированный образ (суффикс ‑templated), который позволяет конфигурировать Angie с помощью переменных окружения.

Для запуска Angie в Docker мы будем использовать стандартный образ на базе дистрибутива Alpine, хостовая система: Ubuntu 24.04.

Предварительно установим Docker из стандартного репозитория:

sudo apt install docker.io

Далее создаём и запускаем контейнер с Angie.

sudo docker run --name angie -v \
/var/www/html:/usr/share/angie/html:ro -p 8800:80 -d \
 docker.angie.software/angie:latest

В этой команде мы пробросили часть хостовой файловой системы в контейнер. То есть директория /var/www/html на хосте будет корнем для конфигурации Angie по умолчанию, в контейнере она будет иметь путь: /usr/share/angie/html. Также в команде указан проброс порта: хостовый 8080, контейнер — 80. Заметим, что в качестве образа указан angie с тэгом latest, что подходит для учебных задач. При боевом использовании стоит указывать точную версию.

Если нет конфликта портов, то контейнер будет запущен, можно проверить его доступность:

curl localhost:8080

У нашего контейнера есть директория для файлов сайта, он доступен по порту 8080, но мы не имеем возможности удобно редактировать его конфигурацию. Конечно, мы можем получить оболочку внутри контейнера и там пытаться редактировать конфиги, но есть лучший путь. Первым шагом мы скопируем директорию конфигов Angie в хостовую директорию.

sudo docker cp angie:/etc/angie/ /root/angie

Далее удалим только что созданный контейнер и создадим новый, подключив к нему директорию настроек Angie из хостовой системы:

sudo docker rm -f angie
docker run --name angie -v /var/www/html:/usr/share/angie/html:ro \
 -v /root/angie:/etc/angie:ro -p 8800:80  -d \
 docker.angie.software/angie:latest

Теперь все конфиги Angie доступны для редактирования в хостовой системе (/root/angie). При этом директории подключены в режиме только для чтения (:ro). После обновления конфигурации не забываем сделать reload для Angie в контейнере:

docker kill -s HUP angie

На этом мы запустили контейнер, доступный по порту 8080, использующий хостовую директорию /var/www/html как /usr/share/angie/html внутри контейнера и его конфигурация находится в хостовой директории /root/angie.

Другой вариант кастомизации контейнера — сборка собственного образа на базе одного из вариантов, доступных в реестре Angie.

Итоги

Мы разобрали несколько вариантов установки Angie из пакетных репозиториев, познакомились с установкой Angie PRO. После разобрали варианты образов Angie в реестре образов и процесс запуска контейнера с кастомной конфигурацией.

За рамками статьи остались аспекты сборки Angie из исходного кода и сборка собственных версий образов для Docker.

Комментарии (0)