Server error 500: причины и способы устранения

Server error 500 в Nginx: причины и устранение

Ошибка 500 возникает на стороне сервера. Nginx выступает как обратный прокси. Сам по себе не генерирует 500, если не настроен неправильно.

Основные причины

  • Бэкенд (PHP-FPM, Python, Node.js) вернул ошибку.
  • Некорректные права на файлы или папки.
  • Переполнение диска или нехватка памяти.
  • Ошибки в конфигурации Nginx (редко, но возможно).
  • Сбои в работе FastCGI.

Диагностика

  1. Проверить лог Nginx:
    /var/log/nginx/error.log
  2. Изучить лог бэкенда (например, PHP-FPM: php-fpm-error.log).
  3. Убедиться, что процессы бэкенда запущены.
  4. Проверить свободное место: df -h, free -m.
  5. Протестировать бэкенд отдельно (curl к localhost:порт).

Решение

  • Исправить код приложения, вызывающий ошибку.
  • Настроить корректные права: chown, chmod.
  • Перезапустить сервисы: systemctl restart php-fpm, nginx.
  • Увеличить лимиты памяти (в php.inimemory_limit).
  • Исправить синтаксис в конфигах Nginx: nginx -t.

После изменений — проверить статус: systemctl status.

Похожие вопросы...

Навигация