Como corrigir um erro de servidor interno desconhecido (500) Nginx está me dando?

3

O Nginx está me dando um erro 500 que está me enlouquecendo. Primeiro de tudo eu tenho um arquivo personalsite.conf dentro de /etc/nginx/conf.d/ onde eu tenho o meu bloco de servidor.

Esta é a configuração do meu bloco de servidores:

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;
    }
}

Além disso, o usuário nginx tem suas permissões adequadas atribuídas acima de /usr/share/nginx/html/personalsite/ .

A coisa é que o Nginx está me dando um erro 500 quando eu tento navegar personalsite.me , e o engraçado é que eu sei disso porque eu verifiquei o personalsite.access.log e o vejo, porque o brower simplesmente fica em branco. Por razões desconhecidas, o Nginx não pode me mostrar sua página de erro 500, declarada corretamente no bloco do servidor, como você pode ver.

Outra coisa estranha é que personalsite.error.log está em branco, não registra nada.

Também tenho esse domínio declarado com seu IP no meu /etc/hosts archive. Então eu realmente não tenho ideia do que está acontecendo aqui.

Tudo está rodando o CentOS 7 em um VPS da Digital Ocean.

    
por Alain 19.03.2015 / 16:10

3 respostas

2

A maioria dos erros ocorre devido a uma configuração incorreta quando a configuração do Nigix. Vou sugerir para verificar o arquivo ( /etc/php-fpm.d/www.conf ).

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

Encontre a linha que especifica o parâmetro de escuta e altere-o para que pareça o seguinte:

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

Em seguida, encontre as linhas que definem o listen.owner e listen.group e descomente-as. Eles devem ficar assim:

listen.owner = nobody
listen.group = nobody

Por fim, encontre as linhas que definem o usuário e o grupo e altere seus valores de "apache" para "nginx":

user = nginx
group = nginx

Em seguida, salve e saia

/etc/init.d php-fpm restart
    
por 28.11.2015 / 08:28
0

Não é a melhor resposta do mundo, mas um erro 500 é ambíguo, pode ser a configuração do nginx ou pode estar relacionado ao conteúdo do site. Minimize sua configuração e reconstrua até que você possa reproduzir o problema.

Substitua o conteúdo do site por um simples index.html com apenas alguns textos simples. Deixe de fora todas as diretivas de erro extras e o bloco de localização. Depois de estabelecer a funcionalidade básica, você pode se sentir menos insano e adicionar suas outras diretrizes, testando à medida que avança, até isolar qualquer diretiva que esteja causando problemas e encontrar a causa raiz a partir daí.

    
por 19.03.2015 / 19:59
0

Quando o PHP display_errors está desativado, os erros do PHP podem retornar o erro Nginx 500.

Você deve dar uma olhada nos seus logs do php-fpm, com certeza você encontrará o erro lá. Com o CentOS 7:

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

Você também pode mostrar erros do PHP. Em /etc/php.ini, mude:

display_errors = Off

para:

display_errors = On

Espero que ajude.

    
por 22.01.2016 / 01:27

Tags