nginx + php5-fpm não funciona corretamente. Eu vejo apenas uma tela branca

11

Acabei de instalar o nginx e o php5-fpm e quero testá-lo na porta 82. Então, eu chamo de link e não vejo nada. Apenas uma tela branca. Sem erros, sem avisos, não vejo nada :) Há um log de erro de nginx e um log de erro de php5-fpm - mas ... Não há nenhum erro. Eu não entendo o que está errado. Por favor me ajude a descobrir isso.

root@localhost:# echo "<?php phpinfo(); ?>" > /home/www/public_html/test555.php
root@localhost:# chmod 755 /home/www/public_html/test555.php
root@localhost:# cat /etc/nginx/sites-available/default
server {
        listen 82;
        root /home/www/public_html;
        index index.php index.html;

        server_name mysite.com;
        access_log /var/log/nginx/nginx-access.com.log;
        error_log /var/log/nginx/nginx-errors.com.log;

        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                # fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                fastcgi_param QUERY_STRING              $query_string;
                fastcgi_param REMOTE_ADDR               $remote_addr;
        }
}

root@localhost:# /etc/init.d/nginx status
 * nginx is running

root@localhost:# /etc/init.d/php5-fpm status
 * php5-fpm is running

root@localhost:# ls -la /var/run/php5-fpm.sock
srw-rw-rw- 1 root root 0 Feb  3 01:14 /var/run/php5-fpm.sock

root@localhost:# cat /var/log/php5-fpm.log 
....
[03-Feb-2014 01:14:52] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
[03-Feb-2014 01:14:52] NOTICE: fpm is running, pid 19080
[03-Feb-2014 01:14:52] NOTICE: ready to handle connections

root@localhost:# cat /var/log/nginx/nginx-access.com.log
...ip... - - [03/Feb/2014:01:29:44 +0000] "GET /test555.php HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0"

root@localhost:# cat /var/log/nginx/nginx-errors.com.log

root@localhost:#

O que posso fazer para descobrir o que está acontecendo? Eu vejo que deveria funcionar bem. O script PHP retorna o código = 200, mas não vejo a saída. Ele nunca foi chamado, porque eu tentei adicionar file_put_contents lá e ele nunca foi chamado pelo nginx.

Eu uso o Ubuntu 12.04 totalmente atualizado hoje.

    
por JavaRunner 03.02.2014 / 02:52

2 respostas

16

Este SO Q & A parece que pode ser o seu problema, intitulado: nginx mostrando o PHP em branco páginas .

Sua estrofe location deve ser semelhante a esta:

location ~ \.php$ {
    include /path/to/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /path/to/www/dir$fastcgi_script_name;
}

Você precisa prestar atenção especial ao caminho para o script ao qual está se referindo para fastcgi_param .

Referências

por 03.02.2014 / 03:34
13

Isso pode ser útil para outras pessoas que enfrentam esse problema,

Você também pode adicionar ao seu arquivo conf nginx fastcgi_params da linha a seguir, de modo que não é necessário especificar o caminho para a variável SCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Isso é muito útil, especialmente quando você tem muitos hosts virtuais.

    
por 07.08.2014 / 00:19

Tags