Как исправить неизвестную ошибку внутреннего сервера (500) Nginx дает мне?

Nginx дает мне 500 ошибок, которые сводят меня с ума. Прежде всего, у меня есть архив personalsite.conf внутри /etc/nginx/conf.d/ где у меня есть серверный блок.

Это конфигурация моего сервера:

 server { listen 80; server_name personalsite.me; charset UTF-8; access_log /var/log/nginx/personalsite.access.log main; error_log /var/log/nginx/personalsite.error.log; root /usr/share/nginx/html/personalsite; index index.php index.html index.htm; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html/; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 

Плюс пользователь nginx имеет соответствующие разрешения, назначенные над /usr/share/nginx/html/personalsite/ .

Дело в том, что Nginx дает мне 500 ошибок, когда я пытаюсь просмотреть personalsite.me , и самое смешное в том, что я знаю это, потому что я проверил personalsite.access.log и посмотрю его, потому что браузер не работает. По неизвестным причинам Nginx не может показать мне свою страницу с ошибкой 500, которая будет правильно объявлена ​​в блоке сервера, как вы можете видеть.

Еще одна странность в том, что personalsite.error.log пуст, он ничего не записывает.

Также у меня есть этот домен, объявленный с его IP-адресом в моем /etc/hosts архиве. Поэтому я действительно понятия не имею, что здесь происходит.

Все работает на CentOS 7 по сравнению с Digital Ocean VPS.

3 Solutions collect form web for “Как исправить неизвестную ошибку внутреннего сервера (500) Nginx дает мне?”

Большая ошибка возникает из-за неправильной конфигурации при настройке Nigix. Я предлагаю проверить файл ( /etc/php-fpm.d/www.conf ).

 vi /etc/php-fpm.d/www.conf 

Найдите строку, определяющую параметр прослушивания, и измените ее так, чтобы она выглядела следующим образом:

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

Затем найдите строки, которые устанавливают listen.owner и listen.group и раскомментируют их. Они должны выглядеть так:

 listen.owner = nobody listen.group = nobody 

Наконец, найдите строки, которые устанавливают пользователя и группу, и изменяют их значения от «apache» до «nginx»:

 user = nginx group = nginx 

Затем сохраните и закройте

 /etc/init.d php-fpm restart 

Не лучший ответ в мире, но ошибка 500 является двусмысленной, это может быть ваша конфигурация nginx или может быть связана с вашим содержанием сайта. Минимизируйте свою конфигурацию и перестройте, пока не сможете воспроизвести проблему.

Замените содержимое сайта простым index.html простым текстовым текстом. Оставьте все дополнительные директивы об ошибках и блок местоположения. После того, как вы установили базовую функциональность, вы можете чувствовать себя менее сумасшедшим и добавлять свои другие директивы, тестируя их, пока не выделите какую-либо директиву, вызывающую проблемы, и можете найти там основную причину.

Когда PHP display_errors отключены, ошибки PHP могут возвращать ошибку Nginx 500.

Вы должны взглянуть на журналы php-fpm, я уверен, что вы найдете там ошибку. С CentOS 7:

 tail -f /var/log/php-fpm/www-error.log 

Вы также можете показать ошибки PHP. В /etc/php.ini измените:

 display_errors = Off 

к:

 display_errors = On 

Надеюсь, поможет.

  • nginx не перезапустится
  • nginx запретить правило и разрешить правило не работает
  • регулярное выражение nginx с proxypass
  • Как работает работа над доменным именем?
  • Как nginx может получить доступ к своим файлам виртуального хоста по умолчанию, когда selinux включен?
  • Неправильный сайт появляется в Nginx
  • Systemd не запускает Nginx при перезагрузке, но работает вручную
  • Не удается подключиться к localhost на порту 4430
  • Разрешения на файлы журнала nginx
  • Веб-сервер в зонах Solaris 10 +. Как это сделать правильно?
  • Как перезапустить службу systemd после обновления файлов на сервере Gunicorn?
  • Nginx + PHP + FTP - проблема с правами пользователя
  • Linux и Unix - лучшая ОС в мире.