Heim > Fragen und Antworten > Hauptteil
Ich habe ein Nginx mit zwei verschiedenen PHP-FPM-Versionen (7.4 und 8.1).
Ich möchte, dass Nginx diese beiden PHP-Versionen zufällig lädt.
Zum Beispiel ist das zu diesem Zeitpunkt geladene info.php
Version 7.4 und beim nächsten Mal sollte Version 8.1 angezeigt werden.
Ist das möglich?
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。