nginx + php5-fpm ठीक से काम नहीं करता है। मैं केवल एक सफेद स्क्रीन देखता हूं


11

मैंने अभी nginx और php5-fpm स्थापित किया है और मैं इसे 82 पोर्ट पर परीक्षण करना चाहता हूं। इसलिए मैं http://mysite.com:82/test555.php पर कॉल करता हूं और मुझे कुछ भी दिखाई नहीं देता है। बस एक सफेद स्क्रीन। कोई त्रुटि नहीं, कोई चेतावनी नहीं, मुझे कुछ भी दिखाई नहीं देता है :) nginx का एक त्रुटि लॉग और php5-fpm का एक त्रुटि लॉग है - लेकिन ... कोई त्रुटि नहीं है। मैं यह नहीं जानता कि गलत क्या है। कृपया इसका पता लगाने में मेरी मदद करें।

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

मैं आगे क्या कर सकता हूं यह जानने के लिए कि क्या हो रहा है? मुझे लगता है कि इसे ठीक काम करना चाहिए। PHP स्क्रिप्ट मुझे कोड = 200 लौटाती है लेकिन मैं आउटपुट नहीं देखता। इसे कभी नहीं बुलाया गया, क्योंकि मैंने वहां file_put_contents जोड़ने की कोशिश की और इसे वास्तव में nginx द्वारा कभी नहीं बुलाया गया।

मैं आज पूरी तरह से अपग्रेड किए गए ubuntu 12.04 का उपयोग करता हूं।


की सामग्री क्या हैं /var/log/nginx/nginx-errors.com.log?
2

देखें कि क्या यह प्रासंगिक है: bbs.archlinux.org/viewtopic.php?id=101750
mkc

मैं एक ऐसी ही समस्या थी, nginx एक पृष्ठ आधे रास्ते प्रसंस्करण तो रोक रहा था। नग्नेक्स लॉग पर कोई त्रुटि नहीं थी। मैंने इसे नगीनेक्स फास्टसीगी बफरिंग को बदलकर ठीक किया। देखें stackoverflow.com/a/43294078/1008916
Mugoma जे Okomba

जवाबों:


16

यह SO Q & A लगता है कि यह आपका मुद्दा हो सकता है, जिसका शीर्षक है: रिक्त PHP पृष्ठ दिखा रहा है

आपका locationछंद इस तरह दिखना चाहिए:

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

आपको उस स्क्रिप्ट पर विशेष ध्यान देना होगा जिसे आप संदर्भित कर रहे हैं fastcgi_param

संदर्भ


हाँ, यह मेरी गलती थी। मैंने एक पंक्ति जोड़ी है: "fastcgi_params को शामिल करें?" स्थान और अब यह काम करता है!
JavaRunner

@JavaRunner - आपके मुद्दे को सुनकर खुशी हुई!
स्लम

13

यह इस समस्या का सामना करने वाले अन्य लोगों के लिए उपयोगी हो सकता है,

आप अपने nginx conf फ़ाइल fastcgi_paramsको निम्न पंक्ति में भी जोड़ सकते हैं , इसलिए आपको चर को पथ निर्दिष्ट करने की आवश्यकता नहीं हैSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

यह विशेष रूप से बहुत आसान है जब आपके पास कई वर्चुअल होस्ट हैं।


धन्यवाद, यह हर समय एक अलग रास्ते को शामिल करने से बहुत बेहतर है
krdx

1
इसने उबंटू 14.04 पर मेरी समस्या हल की जो एक ताजा स्थापित करता है जो नगणक्स रिपॉजिटरी से आ रहा था। धन्यवाद!
अर्धा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.