Анализ логов ошибок Nginx для устранения неполадок «connection refused»
Узнайте о лучших практиках интерпретации логов ошибок Nginx для выявления первопричин проблем «connection refused», включая настройки сокетов и проверку апстрим-серверов.
Введение
Ошибка connection refused в Nginx — одна из самых распространенных проблем, с которыми сталкиваются системные администраторы. Она означает, что Nginx не смог установить соединение с целевым сервером (апстримом).
Анализ логов
Первым делом проверьте файл error.log. Обычно он находится в /var/log/nginx/error.log.
Ищите записи вида:
[error] 12345#0: *1 connect() failed (111: Connection refused) while connecting to upstream
Что это значит?
- Целевой порт закрыт: Приложение, к которому пытается подключиться Nginx, не запущено или слушает другой порт.
- Проблемы с брандмауэром:
iptablesилиufwблокируют соединение. - Неверный IP-адрес: Nginx пытается подключиться к неверному адресу (например,
127.0.0.1вместоlocalhostили наоборот).
Шаги по устранению
- Проверьте статус службы: Убедитесь, что ваш бэкенд (например, PHP-FPM, Node.js или Python) запущен.
- Проверьте порт: Используйте команду
netstatилиss:sudo ss -tulpn | grep LISTEN - Проверьте конфигурацию апстрима: Убедитесь, что в блоке
upstreamилиproxy_passуказан правильный порт.
Следуя этим шагам, вы сможете быстро локализовать и устранить причину ошибки.