GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen der Verwendung von Upstream und Location für php-fpm?

Lösung 1:

location wird verwendet, um Ausdrücke abzugleichen und Regeln für sie zu erstellen.

upstream definiert Server, auf die verwiesen werden kann.

In Ihrem Beispiel bedeutet dies, wenn Sie ein Äquivalent für

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

, bräuchten Sie

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

Der Vorteil des Upstream-Blocks besteht darin, dass Sie mehr als einen Server/Port/Dienst als Upstream konfigurieren und den Datenverkehr darauf verteilen können, zum Beispiel so:

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

Weitere Informationen dazu finden Sie in der nginx-Dokumentation:

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

Lösung 2:

Das habe ich seit nginx gefunden 1.6.2 mindestens, die Arbeitssyntax für mich für den Standortblock ist:

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

das heißt:http:// sollte man nicht angeben Protokoll, bevor auf das PHP-Backend verwiesen wird. Der http://php Syntax ist mit dem proxy_pass zu verwenden Anweisung, nicht fastcgi_pass .


Linux
  1. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  2. Was ist der Unterschied zwischen xdebug.ini und php.ini

  3. Was ist der Unterschied zwischen adduser und useradd?

  4. Was ist der Unterschied zwischen `su -` und `su --login`?

  5. Was ist der Unterschied zwischen $(CC) und $CC?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Login- und Non-Login-Shell

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen ls und l?