20

Good day.

While this post discusses a similar setup to mine serving blank pages occasionally after having made a successful installation, I am unable to serve anything but blank pages. There are no errors present in /var/log/nginx/error.log, /var/log/php-fpm.log or /var/log/nginx/us/sharonrhodes/blog/error.log.

My setup:

  • Wordpress 3.0.4
  • nginx 0.8.54
  • php-fpm 5.3.5 (fpm-fcgi)
  • Arch Linux

Configuration Files

php-fpm.conf:

 [global] pid = run/php-fpm/php-fpm.pid error_log = log/php-fpm.log log_level = notice [www] listen = 127.0.0.1:9000 listen.owner = www listen.group = www listen.mode = 0660 user = www group = www pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 

nginx.conf:

 user www; worker_processes 1; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; include /etc/nginx/sites-enabled/*.conf; } 

/etc/nginx/sites-enabled/blog_sharonrhodes_us.conf:

 upstream php { server 127.0.0.1:9000; } server { error_log /var/log/nginx/us/sharonrhodes/blog/error.log notice; access_log /var/log/nginx/us/sharonrhodes/blog/access.log; server_name blog.sharonrhodes.us; root /srv/apps/us/sharonrhodes/blog; index index.php; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { # This is cool because no php is touched for static content try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass php; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } } 

/etc/nginx/conf/fastcgi.conf:

 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 
2
  • blank page usually means there is a fatal error. Take a look at your error_log for more info Commented Jan 17, 2011 at 21:56
  • 1
    I should have stated this, but there are no errors present in /var/log/nginx/error.log, /var/log/php-fpm.log or /var/log/nginx/us/sharonrhodes/blog/error.log. Commented Jan 18, 2011 at 3:07

2 Answers 2

37

By default the Nginx source does not define SCRIPT_FILENAME in the fastcgi_params file, so unless the repo you installed Nginx from does that you need to do it yourself.

Check if the following line is in your fastcgi_params file:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

and if not then add it.

2
  • Unfortunately, I've fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; defined right at the top of /etc/nginx/conf/fastcgi.conf. I will edit the original post to reflect this. Commented Jan 18, 2011 at 16:29
  • 6
    You include the file fastcgi_params, not fastcgi.conf. My answer is still valid. Commented Jan 18, 2011 at 18:44
5

This one just bit me- and it was totally my fault. I wanted to share what fixed me. In my case, the index.php wasn't loading (blank page) but wp-admin worked.

I have a custom theme and I recently migrated from a shared hosting account to a VPS. I did an rsync and my theme (/srv/blog.clifton.io/wp-content/themes/theme-here) is a symlink. This symlink broke of course, since it was using the path from my previous hosting account.

Hope this helps! (and wish it would log "THEME NOT FOUND" or similar)

1
  • spent 2 days on it. Deleted a theme unknowingly and there were blank pages. I should definitely show a theme not found error. Commented Nov 11, 2017 at 15:38

You must log in to answer this question.