Nginx load balance with dedicated php-fpm server

I got server setup with nginx + php-fpm and mysql. I have another server with php-fpm installed, so I wanted to use it as a load balance. But when I use this dedicated server with php-fpm as load balancing, I got an error opening the page: "Access is denied."

/etc/nginx/nginx.conf

user www-data; worker_processes 3; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 64; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; keepalive_timeout 65; tcp_nodelay on; #gzip on; upstream php { server dedicatedserverip:9000; } include /etc/nginx/sites-enabled/*; } 

/etc/nginx/sites-enabled/site.org.conf

 server { listen 81; server_name site.org www.site.org; access_log /var/log/nginx/site.org.log; error_log /var/log/nginx/site.org.log; root /home/www/site.org; index index.php; location ~ .php$ { fastcgi_pass php; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/$fastcgi_script_name; } } 

Why did I get this error? When I change only fastcgi_pass to 127.0.0.1:9000 - everything works fine.

+4
source share
2 answers

If it is a blank page with "Access denied" on it, it is called by the security.limit_extensions directive , which was added to php-fpm.

If you do not have it in your php-fpm configuration, it uses .php by default and does not allow all other types of files to be parsed by the PHP interpreter producing "Access denied" when trying to do this.

+3
source

You got this error because PHP-FPM files do not exist on the PHP-FPM server.

fastcgi_param SCRIPT_FILENAME /home/www/$fastcgi_script_name;

or (I use this because it is easier for multiple vhosts)

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

It seems that Nginx just provides the PHP-FPM server with the file location, and the PHP-FPM server then displays it. The simplest solution is rsync the document root directory on the PHP-FPM server.

This post may explain the details: http://code.google.com/p/sna/wiki/NginxWithPHPFPM

+1
source

Source: https://habr.com/ru/post/1343962/


All Articles