GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre usar upstream y location para php-fpm?

Solución 1:

location se utiliza para hacer coincidir expresiones y crear reglas para ellas.

upstream define servidores a los que se puede hacer referencia.

En su ejemplo, esto significa que si desea obtener un equivalente para

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

, necesitarías

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;
}

El beneficio del bloque ascendente es que puede configurar más de un servidor/puerto/servicio como ascendente y distribuir el tráfico en ellos, por ejemplo, así:

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;
}

Puede encontrar más información sobre esto en la documentación de nginx:

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

Solución 2:

Descubrí que, a partir del nginx 1.6.2 al menos, la sintaxis de trabajo para mí para el bloque de ubicación es:

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

es decir:no se debe especificar el http:// antes de hacer referencia al backend de php. El http://php la sintaxis debe usarse con el proxy_pass instrucción, no fastcgi_pass .


Linux
  1. ¿Cuál es la diferencia entre usar `sh` y `source`?

  2. ¿Cuál es la diferencia entre fsck y e2fsck?

  3. ¿Cuál es la diferencia entre ls y l?

  4. ¿Cuál es la diferencia entre `su -` y `su --login`?

  5. ¿Cuál es la diferencia entre $(CC) y $CC?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Cuál es la diferencia entre Git Switch y Checkout?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?