nginx + php5-fpm không hoạt động đúng. Tôi chỉ thấy một màn hình trắng


11

Tôi vừa cài đặt nginx và php5-fpm và tôi muốn thử nghiệm nó trên cổng 82. Vì vậy, tôi gọi http://mysite.com:82/test555.php và tôi không thấy gì. Chỉ là một màn hình trắng. Không có lỗi, không có cảnh báo, tôi hoàn toàn không thấy gì cả :) Có nhật ký lỗi của nginx và nhật ký lỗi của php5-fpm - nhưng ... Không có bất kỳ lỗi nào. Tôi không hủy bỏ những gì sai. Xin hãy giúp tôi tìm ra nó.

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

Tôi có thể làm gì tiếp theo để tìm hiểu chuyện gì đang xảy ra? Tôi thấy nó nên hoạt động tốt. Tập lệnh PHP trả về cho tôi mã = ​​200 nhưng tôi không thấy đầu ra. Nó không bao giờ được gọi, bởi vì tôi đã cố gắng thêm file_put_contents ở đó và nó thực sự chưa bao giờ được gọi bởi nginx.

Tôi sử dụng Ubuntu 12.04 nâng cấp đầy đủ ngày hôm nay.


Nội dung của là /var/log/nginx/nginx-errors.com.loggì?
samiam

Xem nếu điều này có liên quan: bbs.archlinux.org/viewtopic.php?id=101750
mkc

Tôi gặp vấn đề tương tự, nginx đang xử lý một nửa trang rồi dừng lại. Không có lỗi trên nhật ký nginx. Tôi đã sửa nó bằng cách thay đổi bộ đệm nginx fastcgi. Xem stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Câu trả lời:


16

Câu hỏi và trả lời SO này có vẻ như là vấn đề của bạn, có tiêu đề: nginx hiển thị các trang PHP trống .

locationKhổ thơ của bạn sẽ trông giống như thế này:

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

Bạn phải đặc biệt chú ý đến đường dẫn đến kịch bản mà bạn đang tham khảo fastcgi_param.

Người giới thiệu


Vâng, đó là lỗi của tôi. Tôi đã thêm một dòng: "bao gồm fastcgi_params;" đến vị trí và bây giờ nó hoạt động!
JavaRunner

@JavaRunner - rất vui khi biết vấn đề của bạn đã được giải quyết!
slm

13

Điều này có thể hữu ích cho những người khác phải đối mặt với vấn đề này,

Bạn cũng có thể thêm vào tập tin nginx conf fastcgi_paramsdòng sau, vì vậy bạn không cần chỉ định đường dẫn đến biếnSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Điều này rất tiện dụng đặc biệt khi bạn có nhiều máy chủ ảo.


cảm ơn bạn, điều này tốt hơn nhiều so với việc bao gồm một con đường khác mọi lúc
krdx

1
Điều này đã giải quyết vấn đề của tôi trên Ubuntu 14.04 với một bản cài đặt mới mà nginx đang đến từ kho lưu trữ. Cảm ơn!
Arda
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.