I have a trouble that is not described in the web. I am using VPS Debian 8 Nginx + PHP7.0-FPM. My server gives php-files in a source code and does not compile them when I configure Nginx and PHP7.0-FPM to use unix sockets (I do it cause I've read it works faster then tcp connections).
So what I really do and it does not work:
- edit /etc/nginx/fastcgi_params to comment fastcgi_pass parameter to use unix socket file:
#fastcgi_pass 127.0.0.1:9000;
all my hosts include this file, so I need to configure own socket in each host file. I do it like this:
- edit /etc/nginx/sites-available/example.com I type fastcgi_pass parameter there
location ~ '\.php$|^/update.php' { fastcgi_split_path_info ^(.+?\.php)(|/.*)$; fastcgi_pass unix:/var/run/php/example.com.php7.0-fpm.conf; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/example.com/www$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT /var/www/example.com/www; fastcgi_param PHP_ADMIN_VALUE upload_tmp_dir=/var/www/example.com/tmp/upload; fastcgi_param PHP_ADMIN_VALUE session.save_path=/var/www/example.com/tmp/sessions; }
edit main php7.0-fpm pool file /etc/php/7.0/fpm/pool.d/www.conf to listen socket (but now I cannot understand why i need it here):
listen = /var/run/php/php7.0-fpm.sock
edit my site's pool file /etc/php/7.0/fpm/pool.d/example.com.conf to set up it own socket (so here it is necessary I think):
listen = /var/run/php/example.com.php7.0-fpm.sock
restart services:
service nginx restart && service php7.0-fpm restart
so this get my index.php downloading as it is when I visit any site page.
But if I use tcp socket fastcgi_pass 127.0.0.1:9000;
it works fine.