GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre l'utilisation en amont et l'emplacement pour php-fpm ?

Solution 1 :

location est utilisé pour faire correspondre des expressions et créer des règles pour elles.

upstream définit les serveurs qui peuvent être référencés.

Dans votre exemple, cela signifie si vous voulez obtenir un équivalent pour

location ~ \.php$ {
    try_files      $uri = 404;
    fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

, vous auriez besoin

upstream php {
    server         unix:/run/php-fpm/php-fpm.sock;
}
location ~ \.php$ {
    try_files      $uri = 404;
    fastcgi_pass   php;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

L'avantage du bloc en amont est que vous pouvez configurer plusieurs serveurs/ports/services en amont et répartir le trafic sur eux, par exemple comme ceci :

upstream php {
    server 127.0.0.1:8080       max_fails=3 fail_timeout=30s;
    server 192.68.1.2     weight=5;
    server         unix:/run/php-fpm/php-fpm.sock;
}

Vous pouvez trouver plus d'informations à ce sujet dans la documentation nginx :

http://nginx.org/en/docs/http/ngx_http_upstream_module.html

Solution 2 :

J'ai trouvé que, depuis nginx 1.6.2 au moins, la syntaxe de travail pour moi pour le bloc d'emplacement est :

location ~ \.php$ {
    try_files      $uri = 404;
    fastcgi_pass   php;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

c'est-à-dire :il ne faut pas spécifier le http:// protocole avant de référencer le backend php. Le http://php la syntaxe doit être utilisée avec le proxy_pass instruction, pas fastcgi_pass .


Linux
  1. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  2. Quelle est la différence entre strtok_r et strtok_s en C ?

  3. Quelle est la différence entre utiliser `sh` et `source` ?

  4. Quelle est la différence entre fsck et e2fsck ?

  5. Quelle est la différence entre ls et l ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre la connexion et le shell sans connexion

Quelle est la différence entre la commande apt et apt-get ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?

Quelle est la différence entre unlink et rm ?