Já que você já está usando o nginx, por que não usar o Apache + mod_php para o php-fpm? Isso evita a necessidade de um proxy.
Depois de instalar php5-fpm
, adicione este vhost e ative-o com sudo ln -s ../sites-available/example.com.conf /etc/nginx/sites-enabled/
# /etc/nginx/sites-available/example.com.conf
server {
listen 80;
server_name example.com;
root /var/www/example.com/public_html/public;
access_log /var/www/example.com/logs/access.log;
error_log /var/www/example.com/logs/error.log;
# Disallow access to hidden files (.htaccess, .git, etc.)
location ~ /\. {
deny all;
}
# Some locations will never contain PHP files, handle it in the server
location ~ ^/(robots.txt|favicon.ico)(/|$) {
try_files $uri =404;
}
location = /index.php {
# Disable direct access to the source code of index.php. If you have a
# Laravel route for '/index.php', copy the @php_router block below.
return 404;
}
location / {
# Try to serve the static files, otherwise call into PHP
try_files $uri @php_router;
}
location @php_router {
include fastcgi_params;
# If you move index.php outside public/, adjust it here.
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}