В этой статье разберём базовые действия для установки веб‑сервера 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.