Как исправить неизвестную ошибку внутреннего сервера (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.

  • Назначение нескольких адресов IPv6 для одного интерфейса для веб-сервера https?
  • nginx возвращает netstring с неправильной длиной?
  • HAProxy не должен перенаправлять входящий запрос на предыдущий экземпляр
  • NGINX: контролировать доступ к местоположению с помощью auth_basic и auth_ldap?
  • Nginx для реверсирования прокси-сервера на гуакамоле, но RDP не работает во внешней локальной сети с прокси-сервером
  • nginx «root / parent / child» внутри директивы по размещению не работает и показывает «404 Не найдено»
  • как мой nginx conf попал в другое место
  • Как включить nginx для nixos только для локального хоста?
  • 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 

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

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.