Настройка APT-репозитория
APT-репозиторий GetPageSpeed Extras содержит пакеты nginx-module-* для поддерживаемых релизов Debian и Ubuntu.
Быстрая установка (рекомендуется)
Один файл .deb устанавливает ключевую пару, файл источников deb822 со всеми тремя каналами и помощник getpagespeed-extras-channel для переключения между ними.
curl -fsSL https://extras.getpagespeed.com/release-latest.deb \
-o /tmp/getpagespeed-extras-release.deb
sudo apt-get install -y /tmp/getpagespeed-extras-release.deb
Пакет записывает /etc/apt/sources.list.d/getpagespeed-extras.sources с тремя блоками deb822: stable (Enabled: yes), <codename>-mainline (Enabled: no) и <codename>-nginx-mod (Enabled: no). Stable всегда включен; переключайте другие два с помощью помощника:
sudo getpagespeed-extras-channel stable # только stable
sudo getpagespeed-extras-channel mainline # stable + mainline
sudo getpagespeed-extras-channel nginx-mod # stable + nginx-mod (+ APT pin)
Выберите нужный канал, затем обновите и установите:
sudo apt-get update
sudo apt-get install nginx-module-brotli
Совет
getpagespeed-extras-channel nginx-mod также устанавливает рекомендованный APT pin в /etc/apt/preferences.d/getpagespeed-nginx.pref. Если вы используете stable или mainline и у вас есть другой источник nginx в системе (например, PPA ondrej или nginx.org), смотрите раздел
Прикрепление пакетов GetPageSpeed nginx ниже.
Справочная информация о каналах
| Канал | Включенные версии | Когда использовать |
|---|---|---|
stable |
<codename> |
NGINX стабильной версии + динамические модули. |
mainline |
<codename> + <codename>-mainline |
Последняя основная версия NGINX (и соответствующие модули). |
nginx-mod |
<codename> + <codename>-nginx-mod |
Обновленная версия stable nginx с патчами GetPageSpeed (upstream_check, upstream_api, расширенные единицы limit_req_rate). |
nginx-mod совместим по ABI со стабильным пакетом nginx, поэтому любой пакет nginx-module-* из соответствующей стабильной версии устанавливается на него без пересборки. Установка nginx-mod заменяет любой существующий пакет nginx (он объявляет Conflicts: nginx). Поддерживаемые кодовые имена на момент запуска: jammy, noble, bookworm.
Миграция с других репозиториев nginx
Если у вас уже установлен nginx из ondrej PPA, nginx.org или стандартных пакетов Debian/Ubuntu:
- Запустите быструю установку выше. Выберите нужный канал (
mainlineдля последнего,nginx-modдля исправленного stable,stableдля обычного stable). - Помощник автоматически установит APT pin для
nginx-mod. Дляstableилиmainlineустановите pin самостоятельно — смотрите Прикрепление пакетов GetPageSpeed nginx. -
Обновите и замените nginx в одной команде:
sudo apt-get update sudo apt-get install nginx nginx-module-geoip2APT автоматически заменит конфликтующие пакеты (
nginx-core,nginx-common,nginx-full,nginx-extras,nginx-light) на переходные пакеты GetPageSpeed, которые зависят от объединенного пакетаnginx. -
Проверьте активный источник:
apt-cache policy nginxВ выводе должно отображаться
extras.getpagespeed.comс приоритетом 1001.
Ручная настройка (расширенная)
Если вы предпочитаете настроить ключевую пару и список источников самостоятельно — например, чтобы проверить каждый шаг, создать файл источников особой формы или избегать запуска стороннего .deb — следуйте приведенному ниже ручному процессу. Он приводит к тому же конечному состоянию, за исключением помощника getpagespeed-extras-channel.
Установите APT-ключевую пару
Скачайте ключевую пару репозитория и поместите её в /etc/apt/keyrings:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://extras.getpagespeed.com/deb-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/getpagespeed.gpg >/dev/null
Добавьте APT-источник
Вы можете либо использовать интерактивный помощник ниже, либо скопировать один из статических примеров.
Интерактивный генератор
Выберите вашу дистрибуцию, кодовое имя и ветку NGINX, чтобы сгенерировать как запись в sources.list, так и готовую команду оболочки:
Содержимое sources.list:
Команда оболочки для создания файла:
Альтернатива: автоматическое определение дистрибутива и кодового имени
Если вы предпочитаете одну универсальную команду, которая работает на любой поддерживаемой системе Debian или Ubuntu, вы можете использовать lsb_release для автоматического определения дистрибутива и кодового имени.
Для ветки stable:
distro=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
codename=$(lsb_release -cs)
echo "deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/${distro} ${codename} main" \
| sudo tee /etc/apt/sources.list.d/getpagespeed-extras.list
Для ветки mainline:
echo "deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/${distro} ${codename}-mainline main" \
| sudo tee -a /etc/apt/sources.list.d/getpagespeed-extras.list
Для ветки nginx-mod активируйте как nginx-mod, так и соответствующий стабильный канал, чтобы динамические пакеты nginx-module-* оставались устанавливаемыми вместе с модифицированным nginx:
sudo tee /etc/apt/sources.list.d/getpagespeed-extras.list <<EOF
deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/${distro} ${codename}-nginx-mod main
deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/${distro} ${codename} main
EOF
Прикрепление пакетов GetPageSpeed nginx
Если у вас есть (или вы можете позднее добавить) другой источник nginx, такой как PPA ondrej/nginx или пакеты nginx.org, создайте файл предпочтений APT, чтобы пакеты GetPageSpeed всегда имели приоритет:
sudo tee /etc/apt/preferences.d/getpagespeed-nginx.pref > /dev/null <<'EOF'
Package: nginx nginx-mod nginx-common nginx-core nginx-full nginx-extras nginx-light nginx-module-* libnginx-mod-*
Pin: origin extras.getpagespeed.com
Pin-Priority: 1001
EOF
Приоритет 1001 говорит APT предпочитать эти пакеты, даже если это означает понижение или замену версий из других репозиториев. Pin ограничен только пакетами, связанными с nginx — другие системные пакеты не затрагиваются.
Совет
Этот шаг рекомендуется для всех установок и обязателен, если в системе настроен какой-либо другой репозиторий nginx.
После добавления источника и pin выполните sudo apt-get update, затем sudo apt-get install nginx-module-<name>.