Конфигурация logrotate для архивации, сжатия и ротации логов Nginx и PHP

Обновлено: Август 2026 Стек: logrotate, Nginx, PHP-FPM, Linux Проверено: Production-Ready

Готовый конфиг /etc/logrotate.d/nginx: ежедневная ротация access/error логов, сжатие gzip, хранение за 14 дней и безопасный reload без потери запросов.

Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/logrotate.d/nginx-custom
/var/log/nginx/*.log /var/www/*/logs/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        if [ -f /var/run/nginx.pid ]; then
            kill -USR1 $(cat /var/run/nginx.pid)
        fi
    endscript
}

Разбор ключевых директив конфигурации

Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).

Директива / Блок Рекомендуемое значение Зачем нужно и системное влияние (CPU / RAM / I-O)
delaycompress delaycompress Откладывает сжатие последнего лога до следующего цикла, исключая блокировку записи Nginx.
kill -USR1 USR1 Сигнал Nginx переоткрыть дескрипторы файлов логов без перезагрузки процессов.
--single-transaction --single-transaction Создает целостный снимок базы данных InnoDB без блокировки рабочих таблиц и остановки пользователей сайта.
find -mtime +14 -delete 14 дней Автоматически удаляет устаревшие архивы резервных копий для предотвращения 100% переполнения диска.

Рекомендуемые системные требования VDS под этот стек

Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.

Оптимальный сайзинг: Любой Linux сервер
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
1 vCPU / 1 GB RAM / 20 GB NVMe
🔷 Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
1 vCPU / 1 GB RAM / 20 GB NVMe
🟠 Beget
Turbo 4 GB
Рекомендуемые ресурсы
1 vCPU / 1 GB RAM / 20 GB NVMe

Онлайн-утилиты SysKit для проверки этого сервера

Протестируйте корректность применения конфигурации прямо сейчас в один клик.

Частые ошибки при настройке и их решение (FAQ)

Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.

Как протестировать принудительную ротацию?
Выполните команду `logrotate -d -f /etc/logrotate.d/nginx-custom`.
Как настроить запуск бэкапа по расписанию в Cron?
Выполните `crontab -e` и добавьте строку: `0 3 * * * /bin/bash /path/to/backup.sh >/dev/null 2>&1` для ежедневного запуска в 03:00 ночи.
Как проверить целостность созданного архива?
Для tar.gz: `tar -tzf archive.tar.gz > /dev/null`, для gzip: `gzip -t backup.sql.gz`. Если команда завершилась без ошибок, архив не поврежден.

Рекомендуемые смежные конфигурации

Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.