搜索

首页  >  问答  >  正文

使用Nginx配置随机的PHP版本,是否可行?

我有一个nginx,其中有两个不同的php-fpm版本(7.4和8.1)。

我想让nginx随机加载这两个php版本。

例如,此时加载的info.php是7.4版本,下一次应该显示8.1版本。

这样做可能吗?

P粉521748211P粉521748211433 天前684

全部回复(1)我来回复

  • P粉245489391

    P粉2454893912023-09-08 12:14:44

    今天,有人问了我一个类似的问题,我在这里搜索并发现问题在这里,但没有人回答它。我希望将来这个答案也能帮助到其他人!

    对于这个问题的回答,是的,这是可能的。首先,您需要为每个PHP版本定义两个单独的upstream块,然后在upstream块中使用random指令来启用可用的PHP版本之间的随机负载均衡,最后,在您的server块中,您可以使用proxy_pass指令和相应的upstream块将请求代理到PHP版本!

    像这样:

    http {
        upstream php7 {
            random;
            server unix:/var/run/php7.4-fpm.sock;
        }
    
        upstream php8 {
            random;
            server unix:/var/run/php8.1-fpm.sock;
        }
    
        server {
            listen 80;
            server_name example.com;
    
            location / {
                proxy_pass http://php7;
            }
    
            location /info.php {
                proxy_pass http://php8;
            }
        }
    }

    如您所见,根URL(/)的请求将使用proxy_pass指令和php7 upstream随机路由到PHP版本7.4或8.1。

    回复
    0
  • 取消回复