I struggled a long time trying to figure out why my nginz + php-fpm setup was not working. I could tell that the gateway was fine and I was getting a HTTP 200 OK response, but the output was blank and there were no illuminating entries in either the nginx or php-fpm logs.
After a ton of research, I found the hint that I needed here:
Essentially, I needed to set the SCRIPT_FILENAME param like so:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Php_fpm needs this so that it knows the path to the PHP file. You may need to set this param differently according to where you store your PHP files.
The default nginx setup I used includes a fastcgi_params file and a fastcgi.conf file. The fastcgi.conf file defines SCRIPT_FILENAME whereas the fastcgi_params does not. My guess is that the fastcgi.conf is not being used, which is why SCRIPT_FILENAME was not set.