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

Настройка 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:

  1. Запустите быструю установку выше. Выберите нужный канал (mainline для последнего, nginx-mod для исправленного stable, stable для обычного stable).
  2. Помощник автоматически установит APT pin для nginx-mod. Для stable или mainline установите pin самостоятельно — смотрите Прикрепление пакетов GetPageSpeed nginx.
  3. Обновите и замените nginx в одной команде:

    sudo apt-get update
    sudo apt-get install nginx nginx-module-geoip2
    

    APT автоматически заменит конфликтующие пакеты (nginx-core, nginx-common, nginx-full, nginx-extras, nginx-light) на переходные пакеты GetPageSpeed, которые зависят от объединенного пакета nginx.

  4. Проверьте активный источник:

    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>.