首頁  >  問答  >  主體

使用Nginx配置隨機的PHP版本,是否可行?

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

我想讓nginx隨機載入這兩個php版本。

例如,此時載入的info.php是7.4版本,下次應該顯示8.1版本。

這樣做可能嗎?

P粉521748211P粉521748211378 天前613

全部回覆(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
  • 取消回覆