Est-il possible d'utiliser Nginx pour configurer une version aléatoire de PHP ?
P粉521748211
P粉521748211 2023-09-07 23:33:29
0
1
714

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粉521748211
P粉521748211

répondre à tous(1)
P粉245489391

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal