ホームページ  >  記事  >  バックエンド開発  >  Nginx+Php-fpmの動作原理を詳しく解説

Nginx+Php-fpmの動作原理を詳しく解説

移动用户-8334543
移动用户-8334543オリジナル
2022-06-16 16:43:47169ブラウズ

1. 動的 PHP Web ページへのユーザーアクセスプロセス

ステップ 1: ユーザーが nginx サーバーに http リクエストを送信します
ステップ 2: nginx はユーザーがアクセスした URI とサフィックスに基づいてリクエストを判断します
ステップ 3: ご覧のとおり2 番目のステップから、ユーザーが動的コンテンツをリクエストした場合、nginx はリクエストを fastcgi クライアントに渡し、ユーザーが静的リソースにアクセスする場合は、nginx がそのリクエストを php-fpm に送信するのは簡単です。ユーザーが要求した静的コンテンツ。リソースがユーザーに返されます。
ステップ4: ラッパーはphp-fpmから転送されたリクエストを受信した後、php動的プログラム解析サーバーを呼び出すための新しいスレッドを生成します。
ステップ5: phpはクエリ結果をnginxに返します。
ステップ6: nginxは応答を構築します。結果をユーザーに返します

cgiプロトコル


cgi通信プロトコル

fastcgiプロトコル

fastcgiプロトコルは、主にCGIインタプリタを起動する必要性を最適化するために、CGIプロトコルの効率を補助的に改善します。 CGI インタープリター プロセスは、Web サーバー リクエストを受信するたびに php.ini ファイルをリロードして実行環境を初期化する必要がなくなりました

php-fpm プロセス マネージャー

php-fpm は、 fastcgi プロトコルはプロセス マネージャーであり、起動時にマスター プロセスとワーカー プロセスの 2 つの部分が含まれます。マスター プロセスは、通常、ポートをリッスンしてリクエストを受信するために使用される複数のワーカー プロセスがあります。 Webサーバーであり、各ワーカープロセスにはphpコードを実行するためのCGIプロセスインタープリターがあります

TCPの5層プロトコルとは何ですか?


アプリケーション層、トランスポート層、ネットワーク層、データリンク層、物理層


TCP スリーウェイ ハンドシェイクについて話しますか?


1. クライアントは、SYN を 1 に設定して接続リクエスト セグメントをサーバーに送信し、サーバーがリクエスト セグメントを受信した後、それをクライアントに送信します。クライアントは、SYN と ACK が 1 に設定され、確認番号フィールドが x+1 であり、開始シーケンス番号 seq=y

3 が生成される確認メッセージ セグメントを送信します。クライアントが確認メッセージ セグメントを受信すると、次に、ACK が 1、確認番号フィールドが y+1、シーケンス番号フィールドが x+1 に設定された確認メッセージ セグメントをサーバーに送信します

注: SYN は同期シーケンス番号です。 ACKは確認シーケンス番号です

nginxはリクエストを受信し、リスニングポートに従ってアクセスするphpファイルを見つけ、ソケットを介して常駐メモリのfast-cgiプログラムの1つとの接続を確立し、受信したphp-fpm は fast-cgi プロセスを管理し、ハングします。その後、fast-cgi が php プログラムを実行し、データの取得が完了した後、接続を通じて nginx に返します。クライアント。

クッキーとセッションの違いは何ですか?

1. Cookie はブラウザーに保存され、セッションはサーバーに保存されます。

2. セッションを適用する際には、他のユーザーがローカル Cookie を分析することができます。

3. 4K、ブラウジング中サーバーにはセッションの制限がありません

以上がNginx+Php-fpmの動作原理を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。