nginx + php5-fpm non funziona correttamente. Vedo solo uno schermo bianco


11

Ho appena installato nginx e php5-fpm e voglio testarlo sulla porta 82. Quindi chiamo http://mysite.com:82/test555.php e non vedo nulla. Solo uno schermo bianco. Nessun errore, nessun avviso, non vedo nulla :) Ci sono un registro degli errori di nginx e un registro degli errori di php5-fpm - ma ... Non ci sono errori. Non capisco cosa c'è che non va. Aiutatemi a scoprirlo.

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:#

Cosa posso fare dopo per scoprire cosa sta succedendo? Vedo che dovrebbe funzionare bene. Lo script PHP mi restituisce codice = 200 ma non vedo l'output. Non è mai stato chiamato, perché ho provato ad aggiungere file_put_contents lì e non è mai stato chiamato da nginx.

Uso Ubuntu 12.04 completamente aggiornato oggi.


Quali sono i contenuti di /var/log/nginx/nginx-errors.com.log?
Samiam,

Vedi se questo è rilevante: bbs.archlinux.org/viewtopic.php?id=101750
mkc,

Ho avuto un problema simile, nginx stava elaborando una pagina a metà strada quindi si fermava. Non ci sono stati errori sui registri nginx. L'ho risolto modificando il buffering nginx fastcgi. Vedere stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Risposte:


16

Le domande e risposte SO sembrano essere il tuo problema, intitolate: nginx che mostra pagine PHP vuote .

La tua locationstrofa dovrebbe essere simile a questa:

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

Devi prestare particolare attenzione al percorso dello script a cui fai riferimento fastcgi_param.

Riferimenti


Sì, è stata colpa mia. Ho aggiunto una riga: "include fastcgi_params;" alla posizione e ora funziona!
JavaRunner,

@JavaRunner - felice di sapere che il tuo problema è stato risolto!
slm

13

Questo potrebbe essere utile per gli altri che affrontano questo problema,

Puoi anche aggiungere nel tuo file conf nginx fastcgi_paramsla seguente riga, quindi non è necessario specificare il percorso della variabileSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Questo è molto utile specialmente quando hai molti host virtuali.


grazie, è molto meglio che includere sempre un percorso diverso
krdx,

1
Ciò ha risolto il mio problema su Ubuntu 14.04 con una nuova installazione che nginx proveniva dai repository. Grazie!
Arda,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.