Nginx — популярный веб-сервер и обратный прокси-сервер, известный своей высокой производительностью и масштабируемостью. Он поддерживает использование модулей, которые представляют собой динамически загружаемые расширения, предоставляющие дополнительные функциональные возможности. В этой статье мы рассмотрим различные методы получения списка загруженных модулей в Nginx и предоставим примеры кода для каждого метода.
Метод 1: версия Nginx и информация о компиляторе
Самый простой способ получить список загруженных модулей в Nginx — использовать параметр -Vпри запуске nginxкоманда. Эта опция отображает информацию о версии и конфигурации времени компиляции, включая список загруженных модулей.
nginx -V
Метод 2: файл конфигурации Nginx
Другой метод поиска загруженных модулей — проверка файла конфигурации Nginx. По умолчанию загружаемые модули указываются с помощью директивы load_module. Откройте файл конфигурации Nginx (обычно он находится по адресу /etc/nginx/nginx.confили /etc/nginx/conf.d/*.conf) и найдите директивы load_module, чтобы идентифицировать загруженные модули.
load_module modules/ngx_http_geoip_module.so;
load_module modules/ngx_http_image_filter_module.so;
...
Метод 3: Nginx API
Если у вас есть доступ к Nginx API, вы можете использовать конечную точку /apiдля динамического получения информации о загруженных модулях. Отправьте HTTP-запрос GET к http://localhost/apiи проанализируйте ответ JSON, чтобы извлечь список загруженных модулей.
import requests
response = requests.get('http://localhost/api')
modules = response.json()['modules']
print(modules)
Метод 4: API Nginx Plus
Если вы используете Nginx Plus, вы можете использовать API Nginx Plus для получения информации о загруженных модулях. Конечная точка API /statusпредоставляет обширную информацию, включая загруженные модули. Отправьте запрос HTTP GET на адрес http://localhost/statusи извлеките сведения о модуле из ответа.
import requests
response = requests.get('http://localhost/status')
modules = response.json()['modules']
print(modules)
В этой статье мы рассмотрели различные способы получения списка загруженных модулей в Nginx. Мы начали с простой опции -Vдля отображения версии и информации о конфигурации времени компиляции. Затем мы проверили файл конфигурации Nginx и нашли директивы load_module. Кроме того, мы обсудили использование API Nginx и API Nginx Plus для динамического получения информации о загруженных модулях. Используя эти методы, вы можете легко получить полный список загруженных модулей в вашей установке Nginx.