Nginx と PHP 間の 2 つの通信方法 - unix ソケットと tcp ソケット
1. 両方の Nginx 構成 (推奨される学習: nginx チュートリアル )
unix ソケット
php-fpm を実行するには、pid ファイルを入力する必要があります。 nginx設定ファイルのアドレス。
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. 2 つの比較
#上の図からわかるように、UNIX ソケットは不必要な TCP オーバーヘッドを削減します。 . TCP はループバックを経由し、一時ポートと TCP 関連リソースを適用する必要があります。
ただし、同時実行性が高い場合、UNIX ソケットは不安定になります。接続数が急増すると、大量の長期キャッシュが生成されます。接続指向プロトコルのサポートがないと、大きなデータ パケットが発生する可能性があります。例外を返さずに直接失敗します。 tcp などの接続指向のプロトコルは、通信の正確さと整合性を多かれ少なかれ保証できます。
以上がnginxとphpの通信方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。