Проверка модуля GeoIP и баз в Nginx (RHEL/CentOS)
Команды для проверки установки nginx-module-geoip, наличия .so, путей к .dat и синтаксиса конфига. Выполняются от root, без sudo (BitrixVM/VPS).
Как использовать
- Проверить наличие пакета и файла модуля.
- Проверить каталог с базами и права на .dat.
- Запустить nginx -t и при успехе — systemctl reload nginx.
Быстрая проверка, что модуль GeoIP установлен, базы на месте и конфиг применяется без ошибок. На BitrixVM и типичном VPS команды выполняют от root, sudo не нужен.
Установлен ли пакет и модуль
rpm -qa | grep -E '^nginx'
ls -la /usr/lib64/nginx/modules | grep geoip
Ожидаемо: пакет nginx-module-geoip и файл ngx_http_geoip_module.so. Если пакета нет: dnf install -y nginx-module-geoip (предполагается репозиторий nginx.org).
Есть ли базы .dat
ls -la /etc/nginx/geoip/
Должны быть как минимум GeoIP.dat (страна), при необходимости GeoLiteCity.dat. Права на чтение для пользователя nginx: chmod 0644 /etc/nginx/geoip/*.dat.
Синтаксис конфига и перезагрузка
nginx -t
При выводе syntax is ok и test is successful:
systemctl reload nginx
Проверка лога после запроса
Сделайте запрос к сайту и посмотрите последние строки access.log (если используете формат с GeoIP):
tail -n 5 /var/log/nginx/access.log
В строке должны быть поля вида country=RU (или другой код). Если country=-, модуль загружен, но база не сработала — проверьте пути и формат файлов (legacy .dat).
Подробнее: Как включить GeoIP в Nginx: переменные для логов и заголовков.