NGINX
#nginx#config#reload#test#systemctl#bash

Nginx: проверка конфигурации и безопасная перезагрузка

Правильная последовательность проверки конфигурации nginx перед перезагрузкой. Команды nginx -t, systemctl reload nginx и обработка ошибок.

Правильная последовательность проверки конфигурации nginx перед перезагрузкой. Никогда не делайте reload без проверки — это может привести к остановке сервера.

Базовая проверка

# Проверка синтаксиса конфигурации
sudo nginx -t

# Если проверка прошла успешно, перезагрузите конфигурацию
sudo systemctl reload nginx

Безопасная перезагрузка с проверкой

#!/bin/bash
# Проверка и перезагрузка nginx

if sudo nginx -t; then
    echo "✅ Конфигурация корректна, перезагружаю nginx..."
    sudo systemctl reload nginx
    echo "✅ Nginx перезагружен"
else
    echo "❌ Ошибка в конфигурации! Nginx не перезагружен."
    exit 1
fi

Проверка с выводом ошибок

# Подробный вывод ошибок
sudo nginx -t 2>&1

# Сохранение вывода в файл
sudo nginx -t > /tmp/nginx-test.log 2>&1
cat /tmp/nginx-test.log

Альтернативные команды перезагрузки

# Через systemctl (рекомендуется)
sudo systemctl reload nginx

# Через nginx напрямую (если systemctl недоступен)
sudo nginx -s reload

# Полный перезапуск (используйте только при необходимости)
sudo systemctl restart nginx

Проверка статуса после перезагрузки

# Проверка статуса сервиса
sudo systemctl status nginx

# Проверка, что nginx слушает порты
sudo netstat -tlnp | grep nginx
# или
sudo ss -tlnp | grep nginx

Usage:

Всегда проверяйте конфигурацию перед reload: nginx -t. Используйте reload вместо restart — это не прерывает активные соединения.

Notes:

⚠️ reload перечитывает конфигурацию без остановки сервера. restart останавливает и запускает заново — это прерывает активные соединения. Используйте reload для применения изменений без простоя.