nginx + php5-fpm tidak berfungsi dengan baik. Saya melihat layar putih saja

11

Saya baru saja menginstal nginx dan php5-fpm dan saya ingin mengujinya di port 82. Jadi saya menelepon http://mysite.com:82/test555.php dan saya tidak melihat apa-apa. Hanya layar putih. Tidak ada kesalahan, tidak ada peringatan, saya tidak melihat apa-apa sama sekali :) Ada log kesalahan nginx dan log kesalahan php5-fpm - tapi ... Tidak ada kesalahan. Saya tidak mengerti apa yang salah. Tolong bantu saya untuk mengetahuinya.

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

Apa yang bisa saya lakukan selanjutnya untuk mencari tahu apa yang terjadi? Saya melihat itu harus berfungsi dengan baik. Script PHP mengembalikan saya kode = 200 tetapi saya tidak melihat hasilnya. Tidak pernah dipanggil, karena saya mencoba menambahkan file_put_contents di sana dan itu benar-benar tidak pernah dipanggil oleh nginx.

Saya menggunakan ubuntu 12.04 yang sepenuhnya ditingkatkan hari ini.

JavaRunner
sumber
Apa isinya /var/log/nginx/nginx-errors.com.log?
samiam
Lihat apakah ini relevan: bbs.archlinux.org/viewtopic.php?id=101750
mkc
Saya memiliki masalah yang sama, nginx sedang memproses setengah halaman kemudian berhenti. Tidak ada kesalahan pada log nginx. Saya memperbaikinya dengan mengubah buffering nginx fastcgi. Lihat stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Jawaban:

16

T&J SO ini sepertinya adalah masalah Anda, berjudul: nginx yang menampilkan halaman PHP kosong .

locationBait Anda harus terlihat mirip dengan ini:

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

Anda harus memberi perhatian khusus pada jalur ke skrip yang Anda referensikan fastcgi_param.

Referensi

slm
sumber
Ya, itu salah saya. Saya telah menambahkan baris: "include fastcgi_params;" ke lokasi dan sekarang berfungsi!
JavaRunner
@JavaRunner - senang mendengar masalah Anda telah diatasi!
slm
13

Ini mungkin bermanfaat bagi orang lain yang menghadapi masalah ini,

Anda juga dapat menambahkan ke file conf nginx Anda fastcgi_paramspada baris berikut, jadi Anda tidak perlu menentukan path ke variabelSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Ini sangat berguna khususnya ketika Anda memiliki banyak host virtual.

Adriano Rosa
sumber
terima kasih, ini jauh lebih baik daripada memasukkan jalur yang berbeda sepanjang waktu
krdx
1
Ini memecahkan masalah saya di Ubuntu 14,04 instal baru yang nginx berasal dari repositori. Terima kasih!
Arda