500 internal server error nginx что это за ошибка
Ошибка 500 Internal Server Error: что это и как её исправить
Ошибка 500 Internal Server Error — диагностика
Ошибка 500 Internal Server Error — устранение на популярных платформах
Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :
Когда причиной, по которой возникает ошибка 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.
Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов
Другой причиной по которой может возникнуть ошибка 500 Internal Server Error может стать разработка и тестирование собственных скриптов.
Чтобы справиться с такой ошибкой, попробуйте следующие решения :
Попросите помощи у системного администратора
В некоторых случаях у разработчиков нет полного контроля над сервером.
Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :
Ошибку 500 Internal Server Error довольно легко устранить
Не забывайте, что произошедшие изменения могли быть осуществлены и другими людьми — например, администратором сервера. Если же ничего не менялось, вероятно, сам сервер стал причиной возникновения ошибки из-за несовместимости программного обеспечения или проблем с производительностью.
Пожалуйста, оставляйте свои отзывы по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, лайки, дизлайки, подписки, отклики!
Что такое ошибка 500 и когда она возникает
Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.
Где и когда можно встретить ошибку 500
Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.
Отображаться ошибка может по-разному. Вот пример:
Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.
Причины возникновения ошибки
Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.
Основной причиной ошибки 500 может быть:
Год хостинга в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.
Как получить больше данных о причине ошибки
Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.
Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы.
Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.).
Как открыть панель разработчика

Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».
Как устранить ошибку
Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.
Ошибки в скриптах сайта
Скрипт не запускается
Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
Не хватает оперативной памяти
Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.
Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.
Ошибки в CMS
Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.
При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.

Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».
Как исправить ошибку 500 Internal Server – как восстановить соединение
Внутренняя ошибка сервера 500 – это очень общий код состояния HTTP, который означает, что что-то пошло не так на сервере веб-сайта, но сервер не может сказать более конкретно, в чем именно заключается проблема.
Как выглядит ошибка с кодом 500
Сообщение 500 Internal Server Error может отображаться любым количеством способов, поскольку каждому веб-сайту разрешено настраивать собственную форму.
Вот несколько распространенных способов появления ошибки HTTP 500:
Поскольку веб-сайт, который вы посещаете, генерирует внутреннюю ошибку сервера, её можно увидеть в любом браузере в любой операционной системе, даже на вашем смартфоне.
В большинстве случаев в окне интернет-браузера отображается ошибка 500 Internal Server Error.
Причины ошибок HTTP 500
Как мы уже упоминали выше, сообщения о внутренних ошибках сервера не указывают какой-то конкретной проблемы.
В большинстве случаев «ошибка» означает проблему с кодом страницы или сайта, но, безусловно, существует вероятность того, что проблема на вашей стороне, что мы рассмотрим ниже.
Более конкретная информация о причине конкретной ошибки HTTP 500 часто предоставляется, когда она возникает на сервере с использованием программного обеспечения Microsoft IIS. Ищите числа после 500, как в HTTP Error 500.19 – Internal Server Error, это означает, что данные конфигурации недействительны.
Как исправить внутреннюю ошибку сервера
Как мы упоминали выше, 500 Internal Server Error – это ошибка на стороне сервера, означающая, что проблема, вероятно, не в вашем компьютере или интернет-соединении, а на сервере веб-сайта.
Хотя это маловероятно, возможно, что-то не так с вашей стороны, и в этом случае мы рассмотрим некоторые вещи, которые вы можете попробовать:
Перезагрузите веб-страницу. Вы можете сделать это, нажав кнопку обновления/перезагрузки, нажав F5 или Ctrl + R или повторив попытку URL-адреса из адресной строки.
Даже если ошибка 500 Internal Server Error является проблемой на веб-сервере, проблема может быть временной. Повторная попытка загрузки страницы часто бывает успешной.
Если во время оформления заказа у интернет-продавца появляется сообщение «500 Internal Server Error», учтите, что повторные попытки оформления заказа могут привести к созданию нескольких заказов – и даже нескольких платежей! У большинства торговцев есть автоматическая защита от подобных действий, но об этом нужно помнить.
Очистите кеш вашего браузера. Если есть проблема с кэшированной версией просматриваемой страницы, это может вызвать проблемы HTTP 500. Внутренние ошибки сервера редко вызваны проблемами с кэшированием, но я видел, как ошибка исчезла после очистки кэша. Это такая простая и безвредная вещь, которую можно попробовать в самом начале.
Удалите куки вашего браузера. Некоторые проблемы с 500 Internal Server Error можно исправить, удалив файлы cookie, связанные с сайтом, на котором вы получаете ошибку. После удаления файлов cookie перезапустите браузер и повторите попытку.
Устраните неисправность как ошибку тайм-аута 504 шлюза. Это не очень часто, но некоторые серверы выдают внутреннюю ошибку сервера с кодом 500, когда на самом деле 504 Gateway Timeout является более подходящим сообщением, основанным на причине проблемы.
Связь с сайтом напрямую является ещё одним вариантом. Есть большая вероятность, что администраторы сайта уже знают об ошибке 500, но если вы подозреваете, что они этого не знают, то оповещение может помочь вам и им (и всем остальным).
Если кажется, что сайт полностью недоступен, и вы не можете найти способ сообщить об ошибке сервера на веб-сайте, стоит поискать официальных представителей в социальных сетях.
Вернитесь позже. К сожалению, на данный момент Внутренняя ошибка сервера с кодом 500, без сомнения, является проблемой вне вашего контроля, которая в конечном итоге будет исправлена кем-то другим.
Исправление ошибки 500 на вашем собственном сайте
Внутренняя ошибка сервера 500 на вашем собственном сайте требует совершенно другого поведения. Как мы упоминали выше, большинство из 500 ошибок являются ошибками на стороне сервера, а это, вероятно, ваша проблема, которую нужно исправить, если это ваш сайт.
Существует множество причин, по которым ваш сайт может показывать пользователям ошибку 500, но наиболее распространенные:
Если вы используете WordPress, Joomla или другую систему управления контентом или CMS, обязательно поищите в их центрах поддержки более конкретную помощь по устранению неисправности 500 Internal Server Error.
Больше способов увидеть внутреннюю ошибку сервера
В Internet Explorer сообщение «Веб-сайт не может отобразить страницу» часто указывает на внутреннюю ошибку сервера HTTP 500. Ошибка 405 Method Not Allowed – это ещё один вариант, но должны найти соответствующее подтверждение в строке заголовка IE.
Когда службы Google, такие как Gmail, испытывают внутреннюю ошибку сервера 500, они часто сообщают о временной ошибке (500) или просто 500.
Когда Центр обновления Windows сообщает о внутренней ошибке сервера, она отображается как сообщение WU_E_PT_HTTP_STATUS_SERVER_ERROR или как код ошибки 0x8024401F.
Если веб-сайт, который сообщает об ошибке 500, работает под управлением Microsoft IIS, вы можете получить более конкретное сообщение об ошибке:
| Ошибка 500 Internal Server Error | |
|---|---|
| Код | Объяснение |
| 500,0 | Произошла ошибка модуля или ISAPI. |
| 500,11 | Приложение закрывается на веб-сервере. |
| 500,12 | Приложение занято перезагрузкой на веб-сервере. |
| 500,13 | Веб-сервер слишком занят. |
| 500,15 | Прямые запросы на Global.asax не допускаются. |
| 500,19 | Данные конфигурации неверны. |
| 500,21 | Модуль не распознан. |
| 500,22 | Конфигурация ASP.NET httpModules не применяется в режиме управляемого конвейера. |
| 500,23 | Конфигурация ASP.NET httpHandlers не применяется в режиме управляемого конвейера. |
| 500,24 | Конфигурация олицетворения ASP.NET не применяется в режиме управляемого конвейера. |
| 500,50 | Произошла ошибка перезаписи во время обработки уведомления RQ_BEGIN_REQUEST. Произошла ошибка выполнения конфигурации или входящего правила. |
| 500,51 | Произошла ошибка перезаписи во время обработки уведомления GL_PRE_BEGIN_REQUEST. Произошла глобальная конфигурация или ошибка выполнения глобального правила. |
| 500,52 | Произошла ошибка перезаписи во время обработки уведомления RQ_SEND_RESPONSE. Выполнение исходящего правила. |
| 500,53 | Произошла ошибка перезаписи во время обработки уведомления RQ_RELEASE_REQUEST_STATE. Произошла ошибка выполнения правила для исходящих сообщений. Правило настроено для выполнения до обновления выходного пользовательского кэша. |
| 500,100 | Внутренняя ошибка ASP. |
Ошибки, похожие на HTTP 500
Многие сообщения об ошибках браузера аналогичны сообщению 500 Internal Server Error, поскольку все они являются ошибками на стороне сервера, например 502 Bad Gateway, 503 Service Unavailable и 504 Gateway Timeout.
Также существует множество кодов состояния HTTP на стороне клиента, например, популярная ошибка 404 Not Found.
Ошибка 500 internal server error Nginx
При разработке веб-сайтов и веб-приложений можно столкнуться с ошибкой 500 internal server error. Сначала она может испугать и ввести в заблуждение, поскольку обычно веб-сервер выдает более конкретные ошибки, в которых указана точная причина проблемы, например, превышено время ожидания, неверный запрос или файл не найден, а тут просто сказано что, обнаружена внутренняя ошибка.
Но не все так страшно и в большинстве случаев проблема вполне решаема и очень быстро. В этой статье мы разберем как исправить ошибку Internal server error в Nginx.
Как исправить 500 internal server error Nginx
Дословно Internal server error означает внутренняя ошибка сервера. И вызвать её могут несколько проблем. Вот основные из них:
А теперь рассмотрим каждую из причин более подробно и разберем варианты решения.
1. Ошибка в скрипте PHP
Мы привыкли к тому, что если в PHP скрипте есть ошибки, то сразу же видим их в браузере. Однако на производственных серверах отображение сообщений об ошибках в PHP отключено, чтобы предотвратить распространение информации о конфигурации сервера для посторонних. Nginx не может отобразить реальную причину ошибки, потому что не знает что за ошибка произошла, а поэтому выдает универсальное сообщение 500 internal server error.
Чтобы исправить эту ошибку, нужно сначала понять где именно проблема. Вы можете включить отображение ошибок в конфигурационном файле php изменив значение строки display_errors с off на on. Рассмотрим на примере Ubuntu и PHP 7.2:
sudo systemctl restart php-fpm
Затем обновите страницу и вы увидите сообщение об ошибке, из-за которого возникла проблема. Далее его можно исправить и отключить отображение ошибок, тогда все будет работать. Ещё можно посмотреть сообщения об ошибках PHP в логе ошибок Nginx. Обычно он находится по пути /var/log/nginx/error.log, но для виртуальных доменов может настраиваться отдельно. Например, смотрим последние 100 строк в логе:
Теперь аналогично, исправьте ошибку и страница будет загружаться нормально, без ошибки 500.
2. Превышено время выполнения или лимит памяти
Это продолжение предыдущего пункта, так тоже относится к ошибкам PHP, но так, как проблема встречается довольно часто я решил вынести её в отдельный пункт. В файле php.ini установлены ограничения на время выполнения скрипта и количество оперативной памяти, которую он может потребить. Если скрипт потребляет больше, интерпретатор PHP его убивает и возвращает сообщение об ошибке.
Также подобная ошибка может возникать, если на сервере закончилась свободная оперативная память.
Если же отображение ошибок отключено, мы получаем error 500. Обратите внимание, что если время ожидания было ограничено в конфигурационном файле Nginx, то вы получите ошибку 504, а не HTTP ERROR 500, так что проблема именно в php.ini.
Чтобы решить проблему увеличьте значения параметров max_execution_time и memory_limit в php.ini:
sudo vi /etc/php/7.2/php.ini
max_execution_time 300
memory_limit 512M
Также проблема может быть вызвана превышением других лимитов установленных для скрипта php. Смотрите ошибки php, как описано в первом пункте. После внесения изменений в файл перезапустите php-fpm:
sudo systemctl restart php-fpm
3. Неверные права на файлы
Такая ошибка может возникать, если права на файлы, к которым обращается Nginx установлены на правильно. Сервисы Nginx и php-fpm должны быть запущены от имени одного и того же пользователя, а все файлы сайтов должны принадлежать этому же пользователю. Посмотреть от имени какого пользователя запущен Nginx можно командой:
Чтобы узнать от какого пользователя запущен php-fpm посмотрите содержимое конфигурационного файла используемого пула, например www.conf:
sudo vi /etc/php-fpm.d/www.conf
В моем случае это пользователь nginx. Теперь надо убедится, что файлы сайта, к которым вы пытаетесь обратиться принадлежат именно этому пользователю. Для этого используйте команду namei:
Файлы сайта должны принадлежать пользователю, от имени которого запущены сервисы, а по пути к каталогу с файлами должен быть доступ на чтение для всех пользователей. Если файлы принадлежат не тому пользователю, то вы можете все очень просто исправить:
Этой командой мы меняем владельца и группу всех файлов в папке на nginx:nginx. Добавить права на чтение для всех пользователей для каталога можно командой chmod. Например:
sudo chmod o+r /var/www/
Далее все должно работать. Также, проблемы с правами может вызывать SELinux. Настройте его правильно или отключите:
Выводы
В этой статье мы разобрали что делать если на вашем сайте встретилась ошибка 500 internal server error nginx. Как видите проблема вполне решаема и в большинстве случаев вам помогут действия описанные в статье. А если не помогут, напишите свое решение в комментариях!
Что такое 500 ошибка сервера, и как её исправить
Поделиться этим постом
500 ошибка сервера может однажды может случиться на любом сайте. При такой проблеме ни один пользователь не сможет получить доступ к ресурсу. В этой статье мы опишем, как определить и исправить причины внутренней ошибки сервера 500.
1. 500 Internal Server Error — что это?
500 — код ошибки, указывающий на проблемы с сервером. Она возникает по различным причинам:
Пользователи, сталкиваясь с ошибкой, видят следующее предупреждение.
Вебмастерам важно оперативно устранять ошибку сервера 500, чтобы не терять потенциальных клиентов, ведь далеко не каждый пользователь станет возвращаться на сайт, увидев ошибку. Для её исправления следует откорректировать конфигурацию сервера и добиться правильного выполнения запросов.
В подавляющем большинстве ситуаций исправить ошибку можно самостоятельно, если же это не удалось — придётся обратиться в техподдержку хостинг-провайдера. Установить причину 500 ошибки поможет последовательная проверка работы разных компонентов.
2. Почему появляется ошибка 500 Internal Server Error
2.1. Серверные ошибки
Начните работу по исправлению 500 внутренней ошибки сервера с анализа логов ошибок. Чтобы их проверить, перейдите в панель управления хостингом и найдите раздел с настройками ресурса.
Выберите в логах вкладку «Error» и необходимую дату, чтобы просмотреть отчёт за определённый день, или укажите диапазон времени.
Ещё один способ обнаружить источник ошибку 500 Internal Server Error — провести техническую проверку, которая доступна в разделе настроек.
В отчёте строки с ошибками будут выделены красным цветом.
Если тестер обнаружил какие-то проблемы, вероятнее всего, именно они стали причиной внутренней серверной ошибки.
Ещё одна потенциальная причина ошибки 500 — некорректный синтаксис директивы FilterProvider, отвечающей за сжатие контента для ускорения работы. Эта директива включает сжатие на основании заголовков Content-Type, а на хостинге сжимать контент может Nginx, и до Apache такие запросы не дойдут. Следует также учитывать, что для различных версий Apache используется разный синтаксис.
2.3. Неверные права доступа
При создании нового сайта или восстановлении ресурса из бэкапа может возникать ошибка прав доступа к файлам. Например, к ним могут установиться права доступа 777, а это значит, что любой пользователь имеет право их изменять. Такая ситуация критична для безопасности сервера, поэтому он заблокирует файлы, и возникнет ошибка 500.
Чтобы узнать, какие права доступа установлены, откройте в файл-менеджере необходимый документ и зайдите через контекстное меню в его свойства либо раздел «Права доступа».
Допустимые права доступа к каталогам и файлам — 640 или 755.
2.4. Ошибки в Perl и Python скриптах
Иногда 500 ошибка возникает при выполнении скриптов. В данной ситуации нужно проверить, выполняются ли указанные условия:
2.5. Медленная скорость работы PHP-скриптов
На проекте могут присутствовать слишком медленные скрипты, которые не успевают вовремя обработать поток информации, из-за этого возникает внутренняя серверная ошибка.
2.6. Конфликты после обновлений и установки плагинов
Бывает, что проблемы возникают после обновления версии CMS либо установки новых расширений, плагинов или модулей. Если до установки модуля сайт работал нормально, деактивируйте его и перезагрузите страницу браузера. Возможно, ошибку вызвал какой-то внутренний конфликт.
2.7. Устаревшая версия PHP
Устаревшие версии PHP 5.6 и 7.0 не получают обновления безопасности, они работают медленнее, и у них могут возникать проблемы с различными плагинами и скриптами. Помимо этого, ресурсы с устаревшей версией PHP хуже ранжируются. Проверить текущую версию можно на хостинге в разделе «Настройки» — «Настройка PHP».
Быстро проверять коды ответа сервера страниц сайта вам поможет Netpeak Spider — инструмент для регулярного SEO-аудита, быстрого поиска ошибок, системного анализа и парсинга сайтов. У краулера есть бесплатная версия без ограничений по времени,в которой доступны многие базовые функции.
Чтобы получить доступ к бесплатному Netpek Spider, достаточно просто зарегистрироваться, скачать и установить программу 😉
3. Отображается 500 Internal Server Error — как исправить?
3.2. Исправление прав доступа
При некорректно установленных правах поменяйте их на 640 либо восстановите настройки по умолчанию. В зависимости от хостинг-провайдера алгоритм действий может различаться, найдите соответствующие настройки. Например, у провайдера «Украина» предлагается восстановить права доступа ко всем файлам и папкам в разделе «Установка CMS».
Можно также восстановить настройки по умолчанию с помощью редактирования прав доступа конкретного файла.
3.3. Исправление проблем с расширениями или обновлениями
Если внутренняя ошибка 500 возникла после установки новых модулей, но их деактивация не исправила ситуацию, воспользуйтесь услугой восстановления резервной копии сайта хостинг-провайдера.
При заказе необходимо выбрать дату, на момент которой сайт был работоспособным и восстановить именно эту версию. В течение получаса сайт должен восстановить корректную работу.
Подводим итоги
А вы часто сталкиваетесь с 500 ошибкой? Как её исправляете? Оставляйте свои ответы в комментариях 😉
























