GNU/Linux >> Linux の 問題 >  >> Linux

php-fpmのupstreamとlocationの使用の違いは何ですか?

解決策 1:

location 式を照合し、それらのルールを作成するために使用されます。

upstream 参照できるサーバーを定義します。

あなたの例では、これは

に相当するものを取得したい場合を意味します
location ~ \.php$ {
    try_files      $uri = 404;
    fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}

、必要です

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

アップストリーム ブロックの利点は、複数のサーバー/ポート/サービスをアップストリームとして構成し、トラフィックをそれらに分散できることです。たとえば、次のようになります。

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

この詳細については、nginx のドキュメントを参照してください:

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

解決策 2:

nginx の時点で、 1.6.2 少なくとも、ロケーション ブロックの作業構文は次のとおりです。

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

つまり、http:// を指定しないでください。 php バックエンドを参照する前のプロトコル。 http://php 構文は proxy_pass で使用されます 命令、fastcgi_pass ではありません .


Linux
  1. InnoDBとMyISAMの違いは何ですか?

  2. Gitスイッチとチェックアウトの違いは何ですか?

  3. RedhatとcentOSの違いは何ですか?

  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. unlink と rm の違いは何ですか?

  3. ルートとIPルートの違いは何ですか?

  1. Cのstrtok_rとstrtok_sの違いは何ですか?

  2. `sh` と `source` の使用の違いは何ですか?

  3. xdebug.ini と php.ini の違いは何ですか?