Maison > Questions et réponses > le corps du texte
J'ai un nginx avec deux versions différentes de php-fpm (7.4 et 8.1).
Je veux que nginx charge ces deux versions de php de manière aléatoire.
Par exemple, le info.php
chargé en ce moment est la version 7.4, et la version 8.1 devrait être affichée la prochaine fois.
Est-ce possible ?
P粉2454893912023-09-08 12:14:44
Aujourd'hui, quelqu'un m'a posé une question similaire, j'ai cherché ici et j'ai trouvé la question ici, mais personne n'y a répondu. J'espère que cette réponse aidera également les autres à l'avenir !
La réponse à cette question est oui, c’est possible. Tout d'abord, vous devez définir deux blocs amont distincts pour chaque version de PHP, puis dans le bloc amont, utilisez la directive random
指令来启用可用的PHP版本之间的随机负载均衡,最后,在您的server
块中,您可以使用proxy_pass
et le bloc amont correspondant pour proxyer la requête vers la version PHP !
Comme ça :
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; } } }
Comme vous pouvez le constater, l'URL racine (/
)的请求将使用proxy_pass
指令和php7
en amont est acheminée aléatoirement vers PHP version 7.4 ou 8.1.