Internal server error java

Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

Ошибка 500 также может возникать вследствие неправильного обращения с CGI-скриптами:

  • CGI-скрипты должны иметь окончания строк в формате UNIX (n), а не в формате Windows (rn). Для этого их надо загружать на сервер по FTP в режиме ASCII.
  • CGI-скрипты и папки, в которых они находятся, должны быть доступны для записи только владельцу, то есть иметь права 0755 (drwxr-xr-x).
  • В результате работы CGI-скрипта сформированы неправильные HTTP-заголовки ответа. В этом случае для решения проблемы полезно обратиться к error_log (его можно найти в контрольной панели в разделе «Хостинг / Статистика / Лог-файлы / Ошибки»).
В большинстве случаев ошибка Internal Server Error вызвана неверной конфигурацией Nginx. Так что используйте лучшие практики по настройке веб-сервера. И не забудьте включить логирование ошибок – обычно Nginx подсказывает причину ошибку в журнале.

Но есть и не очевидная причина проблемы. Если Nginx работает вместе с PHP-FPM (через модуль FastCGI), то ошибку 500 сервера могут вызывать ошибки выполнения PHP, если отключена директива display_errors.

Для начала проверьте лог php-fpm:

tail -f /var/log/php-fpm/www-error.log
## Выводит 10 последних строчек лога

А затем проверьте файл конфигурации /etc/php-fpm.d/www.conf:

listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody

listen.group = nobody

user = nginx

group = nginx

**display_errors = on**
## Уточните указанные параметры и включить отображение ошибок

Еще одна возможная причина ошибки – скрипт пытается использовать больше памяти, чем позволяет директива memory_limit. На ошибку укажет лог PHP-FPM, а увеличить лимит можно все в том же файле конфигурации /etc/php-fpm.d/www.conf.

Оцените статью