使用代理php fpm的Nginx负载平衡-try\u文件

使用代理php fpm的Nginx负载平衡-try\u文件,php,nginx,load-balancing,fpm,Php,Nginx,Load Balancing,Fpm,我正在尝试设置多个php fpm服务器来处理流量峰值 现在,我有一台机器运行Nginx+PHP7.3-fpm+Redis(6vCPU和16gbram),另一台单独运行phpfp7.3和相同的扩展 一切都很好,但我必须为交通高峰制定一个计划。我不知道如何连接这台新的、独立的机器与主服务器一起工作,而不会有很多问题 我已经对它做了很多研究,没有发现任何特别之处 我能找到的最有价值的链接是: 我读了几篇关于它的文档,但主要的疑问仍然存在: 我是否可以简单地从所有nginx位置conf中删除tr

我正在尝试设置多个php fpm服务器来处理流量峰值

现在,我有一台机器运行Nginx+PHP7.3-fpm+Redis(6vCPU和16gbram),另一台单独运行phpfp7.3和相同的扩展

一切都很好,但我必须为交通高峰制定一个计划。我不知道如何连接这台新的、独立的机器与主服务器一起工作,而不会有很多问题

我已经对它做了很多研究,没有发现任何特别之处

我能找到的最有价值的链接是:

我读了几篇关于它的文档,但主要的疑问仍然存在:

我是否可以简单地从所有nginx位置conf中删除try_files行,并在php.ini中设置cgi.fix_pathinfo=0,这样我就不必在所有服务器上都有这些文件

或者为了安全起见,最好安装一个NFS silesystem,使每个.php文件都位于所有服务器中,包括php fpm专用服务器

有人说“创建一个NFS并装载到所有php fpm代理服务器,或者使用rsync通过服务器同步文件”,也有人说“删除try_文件,它就会工作”,但我确实发现一篇文章说“删除try_文件并祈祷不要被黑客攻击”O

这样做的更好/正确/最安全的方法是什么?我们现在还可以被黑客攻击来删除try_文件吗

如果我可以简单地删除try_文件,使用不同软件的不同位置可以正常工作吗? 假设我在根文件夹上有一个WP,在/forum/folder上安装了一个Xenforo。 try_文件彼此不同

服务器{}前的上游块

        upstream backend {
            server unix:/var/run/php/php7.3-fpm.sock weight=100 max_fails=5 fail_timeout=5;
            server unix:/var/run/php/php7.3-fpm-2.sock weight=100 max_fails=5 fail_timeout=5;
            #I want to add 192.168.x.x:9000 here to balance with this origin server
        }
服务器块的一个示例:

        location / {
                try_files $uri $uri/ /index.php;
        }

        #AMP
        location /amp/ {
                try_files $uri $uri/ /amp/index.php;
        }

        #forum
        location /forum/ {
                try_files $uri $uri/ /forum/index.php?$uri&$args;
                index index.php index.html;
        }

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            #fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
            fastcgi_pass backend;
        }
我还将php fpm服务器绑定为在其内部IP(不是127.0.0.1)上运行,并在php.ini中的listen.allowed_clients上设置为accpet nginx proxy IP

nmap也在PHPFPM服务器IP:9000上从源服务器运行,它说它正在运行并启动

如果你知道如何或可能有一个链接显示如何,请分享。
我已经准备好了机器,等着一起工作,请帮助实现这个目标

由于没有答案可供帮助,我最终从源服务器到PHP服务器执行NFS,只是为了保存文件,因此保留了try\u文件。我不想在不知道安全后果的情况下冒险删除try_文件

所以现在对我来说正确的答案是做一个NFS并将NGINX请求传递给PHP-FPM伸缩机器。一切进展顺利,没有重大问题。唯一的问题是更改php-fpm.conf中的内部IP,将内部IP包括在NFS服务器中,并将新的内部IP包括在NGINX上游池中。当然,将php会话从文件中删除到Redis。这样,当将请求从源服务器更改为扩展服务器时,记录的页面将不会注销