Nginx と PHP 間の 2 つの通信方法 - unix ソケットと tcp ソケット
両方の Nginx 構成 (推奨される調査: nginx チュートリアル)
unix ソケット
nginx 構成ファイルで実行されている php-fpm の pid ファイル アドレスを入力する必要があります。
location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; }
tcpソケット
nginx設定ファイルに実行中のphp-fpmのIPアドレスとポート番号を入力する必要があります。
location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; }
2 つの比較
上の図からわかるように、unix ソケットは不必要な tcp オーバーヘッドを削減しますが、tcp は不要な tcp オーバーヘッドを削減します。ループバックを経由し、一時ポートと TCP 関連リソースを適用する必要があります。
ただし、同時実行性が高い場合、UNIX ソケットは不安定になります。接続数が爆発的に増えると、大量の長期キャッシュが生成されます。接続指向プロトコルのサポートがないと、大きなデータ パケットが生成されます。例外を返さずに直接問題が発生する可能性があります。 tcp などの接続指向のプロトコルは、通信の正確さと整合性を多かれ少なかれ保証できます。
以上がphp と nginx の通信方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。