php7 - Nginx の fastcgi_pass に関する構成の問題
某草草
某草草 2017-05-16 17:18:04
0
1
636

nginxを設定する際のfastcgi_passの設定問題は以下の通りです:

リーリー

主に fastcgi_pass パラメータについて、

リーリー

これら 2 つの方法の違いは何ですか? php7 ではどちらを使用する必要がありますか?

某草草
某草草

全員に返信(1)
大家讲道理

Nginx と PHP-FPM 間のプロセス間通信には 2 つの方法があり、1 つは TCP で、もう 1 つは UNIX ドメイン ソケットです。
TCP は IP プラス ポートであり、UNIX ドメイン ソケットは経由しません。 Nginx と PHP-FPM の両方が同じサーバー上にあるシナリオでのみ使用できます。どちらを使用するかは PHP-FPM 構成によって異なります:
方法 1:
php-fpm.conf: listen = 127.0.0.1 :9000
nginx.conf: fastcgi_pass 127.0 .0.1:9000;
方法 2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm. sock;
ここで php-fpm.sock これは php-fpm によって生成されたファイルで、タイプは srw-rw---- です。

UNIX ドメイン ソケットは、現在広く使用されている IPC メカニズムであり、X Window サーバーと GUI プログラムの間の通信は、システム カーネルで行われます。 UNIX ドメイン ソケットと長い接続の両方で、TCP の短い接続が頻繁に作成されることによって発生する過剰な TIME_WAIT 接続の問題を回避できます。プロセス間で通信する 2 つのプログラムの場合、UNIX ドメイン ソケットのプロセスは TCP に移行しません。レイヤー、ファイルとストリームソケットの形式で直接通信します。TCP ソケットの場合は、IP レイヤーに移動する必要があります。

UNIX ドメイン ソケット:
Nginx <=> PHP-FPM
TCP ソケット (ローカル ループバック):
Nginx <=> TCP/IP <=>ソケット <=> PHP-FPM
TCP ソケット (Nginx と PHP-FPM は別のサーバーにあります):
Nginx <=> 物理層 <=> >=> 物理層<=> PHP-FPM

mysql コマンド ライン クライアントと同様に、mysqld サービスに接続するには 2 つの同様の方法があります:

Unix ソケットを使用して接続します (デフォルト):
mysql -uroot -p --protocol=socket --socket=/tmp /mysql.sock
TCP 接続を使用します:mysql -uroot -p --protocol=socket --socket=/tmp/mysql.sock
使用TCP连接:
mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート