Зачем вносить изменения в конфигурацию Nginx?
Веб-сервер с nginx сегодня является, можно сказать, отраслевым стандартом, поэтому присутствует в репозиториях всех актуальных операционных систем. Установить его можно “одним кликом”, но справедливо это ровно до того момента, пока не потребуется добавить или наоборот, в целях безопасности отключить какую-то функцию, изменить предлагаемую в репозитории конфигурацию.
Как изменить набор функций nginx
Функции, которые может выполнять nginx, определяются набором входящих в его состав модулей. Увы, единственный доступный сегодня способ изменить состав модулей nginx – пересборка пакета из исходного кода. Ниже я опишу процесс пересборки и установки nginx на примере Ubuntu 20.04.
Прежде всего нужно узнать текущую версию nginx:
Далее посмотрим на список имеющихся компонентов nginx. Чтобы упростить последующую компиляцию, вывод команды ниже можно куда-нибудь скопировать:
Тот же самый результат, но в более читабельном виде, можно получить при помощи команды:
Установим ряд утилит, необходимых для сборки nginx:
Скачайте архив с кодом nginx соответствующей версии, распакуйте его и перейдите в соответствующую папку:
Сборка конфигурации Nginx
Чтобы добавить модуль, используется конструкция –with-<имя_модуля>, соответственно для исключения модуля достаточно просто удалить описывающие этот модуль параметры. Для примера отключим компонент mail_ssl_module и наоборот добавим возможности, которые дает http_geoip_module:
Если все хорошо, вы увидите картину наподобие показанной ниже:
Запускаем собственно процесс сборки:
Проверка новой конфигурации Nginx
Проверим список модулей, поддерживаемых скомпилированным пакетом:
Сборка прошла успешно, самое время заменить установленный файл на свежескомпилированный. После нужен будет перезапуск nginx:
Заключение
В данной статье мы рассмотрели как изменить конфигурацию nginx, добавив или исключив модули по собственному усмотрению.