Setting up new Nginx instance wasn't a funny thing as stated on most blogposts while it display blank page during startup. This is annoying when people set things up from scratches.
First thing first:
Check whether PHP-FPM is running:
$ ps -aux | grep php-fpm --color
$
$ ps -aux | grep php-fpm --color
root 1898 0.0 1.8 209928 18992 ? Ss 11:48 0:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 1900 0.0 0.6 210060 6660 ? S 11:48 0:00 php-fpm: pool www
www-data 1901 0.0 0.5 210060 6088 ? S 11:48 0:00 php-fpm: pool www
Also, you may notice that running processes may be owned by someone else, like nginx, apache or whatsoever. Make sure user/group setting in php-fpm config file is referring to the same user/group as set in Nginx config file, like www-data/www-data.
Default location of php-fpm 7.0 config file:
/etc/php/7.0/fpm/pool.d/www.conf
Default location of Nginx config file:
/etc/nginx/sites-available/default
Back to the question about why nginx displays a balnk page instead? Let's take a look at the Nginx config file:
...
...
server {
...
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_cache microcache;
fastcgi_cache_key $scheme$host$request_uri$request_method;
fastcgi_cache_valid 200 301 302 30s;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;
fastcgi_pass_header Set-Cookie;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
# Fix for missing params and blank php page display problems
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
}
}
The line "include fastcgi_params" actually refers to the file /etc/nginx/fastcgi_params which has various fastcgi_param variables initialized when calling. Unfortunately, two important variables went missing leading to an unknown blank page when startup.
They are SCRITP_FILENAME and PATH_TRANSLATED. Add them back to Nginx config file and PHP things execute again!
Ref: https://www.narga.net/avoid-nginx-wordpress-blank-page/