Гид по технологиям

Сборка nginx с модулем ngx_pagespeed в .deb для Ubuntu 15.04

• 5 min read • DevOps • Обновлено 28 Nov 2025
Сборка nginx с ngx_pagespeed для Ubuntu 15.04
Сборка nginx с ngx_pagespeed для Ubuntu 15.04

Кратко: пошаговый гайд по сборке .deb-пакета nginx с модулем Google ngx_pagespeed на Ubuntu 15.04. Устанавливаем зависимости, добавляем модуль в правила сборки, собираем пакет dpkg и проверяем nginx -V.

Nginx — это высокопроизводительный HTTP-сервер с открытым исходным кодом, обратный прокси и прокси для IMAP/POP3. Основные преимущества nginx: стабильность, небольшой расход ресурсов, простая конфигурация и богатый набор возможностей. Google PageSpeed (ngx_pagespeed) — модуль для веб‑сервера, который оптимизирует отдаваемые страницы и ресурсы, уменьшая время загрузки сайта.

В этом руководстве объясняется, как собрать .deb‑пакет nginx для Ubuntu 15.04 с включённым модулем ngx_pagespeed.

Важные определения в одну строку:

  • ngx_pagespeed — модуль, который автоматически оптимизирует HTML, CSS, JS и изображения на стороне сервера.
  • psol — бинарные компоненты PageSpeed, необходимые модулю для работы.
  • dpkg-buildpackage — команда для сборки .deb‑пакета из исходников.

Что делает ngx_pagespeed

Основные возможности ngx_pagespeed:

  • Оптимизация изображений: удаление метаданных, динамическое изменение размеров, рекомпрессия.
  • Минификация, объединение, инлайнинг и вынос CSS/JavaScript.
  • Встраивание мелких ресурсов напрямую в HTML.
  • Отложенная загрузка изображений и JavaScript.
  • Переписывание HTML и увеличение срока кеширования ресурсов.

Подробности: https://developers.google.com/speed/pagespeed/module/.

Требования

  • Ubuntu Server 15.04 — 64‑бит.
  • Права root (или sudo).

План действий:

  1. Установить зависимости.
  2. Скачать исходники nginx и страницы PageSpeed.
  3. Изменить правила сборки для включения модуля.
  4. Собрать .deb и установить.
  5. Протестировать сборку.

Установка зависимостей

Выполните команду для установки пакетов, необходимых для сборки:

sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev

Сборка nginx с ngx_pagespeed

Ниже приведён пошаговый процесс. В тексте сохранены исходные команды; выполняйте их в терминале под root или с sudo.

Шаг 1 — добавление репозитория nginx

Откройте файл списка репозиториев для nginx:

vim /etc/apt/sources.list.d/nginx.list

Добавьте строки (в оригинале используется ‘trusty’ — убедитесь, что вы указали кодовое имя, соответствующее вашей версии Ubuntu):

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Обновите индекс пакетов:

sudo apt-get update

Важно: при ошибке вида GPG error … NO_PUBKEY добавьте ключ репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYNUMBER
sudo apt-get update

Примечание: замените KEYNUMBER на фактический идентификатор ключа, указанный в сообщении об ошибке.

Шаг 2 — загрузка исходников nginx 1.8

sudo su
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
apt-get build-dep nginx

Эти команды загрузят исходники nginx и установят пакеты, необходимые для сборки исходников.

Шаг 3 — загрузка ngx_pagespeed

cd ~
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version=1.9.32.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip

cd ngx_pagespeed-release-1.9.32.3-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzf 1.9.32.3.tar.gz

После распаковки в каталоге ngx_pagespeed появятся необходимые файлы, включая psol.

Шаг 4 — настроить сборку nginx с Pagespeed

Откройте файл правил сборки (в исходнике nginx 1.8 путь может быть таким):

cd ~/new/nginx_source/nginx-1.8.0/debin/
vim rules

Добавьте строку модуля в раздел CFLAGS .configure примерно так (строка, как в исходном руководстве):

--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.9.32.3-beta \

Добавление модуля PageSpeed в правила сборки nginx

Фрагмент файла rules с добавленным модулем ngx_pagespeed

Важно: проверьте относительные пути и версию модуля — они должны совпадать с тем, что у вас на диске.

Шаг 5 — сборка пакета и установка

Перейдите в каталог с исходниками и запустите сборку:

cd ~/new/nginx_source/nginx-1.8.0/
dpkg-buildpackage -b

Команда dpkg-buildpackage соберёт .deb файл в каталоге ~/new/ngix_source/ (обратите внимание на опечатки в путях в оригинале; используйте фактический путь, где были сохранены исходники).

Проверьте содержимое каталога сборки:

cd ~/new/ngix_source/
ls

Сборка nginx с ngx_pagespeed: список файлов пакета

Установите собранный пакет:

dpkg -i nginx_1.8.0-1~trusty_amd64.deb

Установка собранного пакета nginx

Тестирование

Убедитесь, что модуль был включён в сборку:

nginx -V

Вы должны увидеть в выводе строку с –add-module=… или явно упоминание ngx_pagespeed.

Вывод nginx -V с информацией о сборке и модулях

Проверка и критерии приёмки

Критерии приёмки сборки:

  • .deb‑пакет успешно собран и находится в каталоге сборки.
  • Установка через dpkg прошла без ошибок.
  • Команда nginx -V показывает, что ngx_pagespeed включён в конфигурацию сборки.
  • Nginx запускается и обслуживает тестовую страницу без ошибок в логах.

Когда этот подход не подходит

  • Вы используете управляемый хостинг или пакетный репозиторий, где запрещена ручная сборка — лучше выбрать готовые пакеты из репозитория.
  • Для современных установок можно рассмотреть динамические модули (dynamic modules) — они позволяют подключать модули без пересборки всего nginx.
  • Если ваша версия Ubuntu уже не поддерживается, подумайте об обновлении системы или использовании контейнеров с поддерживаемой базой.

Альтернативные подходы

  • Использовать официальные или сторонние PPA/репозитории, где nginx уже собран с нужными модулями.
  • Применять Docker‑образы с преднастроенным nginx + ngx_pagespeed.
  • В некоторых сценариях оптимизацию можно выполнить на уровне CDN или сторонних сервисов (если необходимо минимизировать изменения сервера).

Мини‑методология (быстрый чеклист перед сборкой)

  1. Резервная копия конфигураций и списков пакетов.
  2. Убедиться в наличии свободного дискового пространства для сборки.
  3. Проверить соответствие версий nginx и ngx_pagespeed.
  4. Проверить корректность путей в файле rules и наличие psol.
  5. После сборки — запустить nginx и просмотреть логи ошибок.

Советы по совместимости и миграции

  • В строках источников в примерах используется ‘trusty’ — при сборке для другой версии Ubuntu замените название кодовой версии (например, vivid, xenial и т.д.).
  • Убедитесь, что версия ngx_pagespeed совместима с версией nginx, которую вы собираете.
  • Для серверов в продакшене тестируйте сборку в изолированной среде (виртуальная машина или контейнер) перед деплоем.

Краткое резюме

Сборка nginx с ngx_pagespeed позволяет получить сервер, который отдаёт оптимизированные страницы прямо из сервера, без дополнительной инфраструктуры. Процесс включает установку зависимостей, загрузку исходников nginx и PageSpeed, добавление модуля в правила сборки и компиляцию .deb. Альтернативы включают использование готовых пакетов, Docker или CDN‑оптимизации.

Важно: модуль ngx_pagespeed значительно облегчает автоматическую оптимизацию ресурсов, но требует тестирования на совместимость с вашими приложениями и учёта особенностей CI/CD и поддержки пакетов.

Глоссарий (одна строка):

  • ngx_pagespeed — серверный модуль для автоматической оптимизации веб‑ресурсов.
  • psol — бинарные компоненты PageSpeed, необходимые модулю.
  • dpkg-buildpackage — инструмент для упаковки Debian‑пакетов из исходников.

Краткое объявление для команды (пример):

Собран и протестирован .deb nginx с ngx_pagespeed для Ubuntu 15.04. Инструкции и чеклист по сборке в этом документе. Перед деплоем выполнить тесты в staging.

Конец.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро