Nginx と PHP 間の対話プロセスの 7 つのステップ (動的な PHP Web ページへのユーザー アクセス プロセス)
step1: ユーザーは、 nginx サーバーへの http リクエスト (ユーザーと nginx サーバーは TCP 接続の 3 ウェイ ハンドシェイクを実行します)。
step2: nginx は、ユーザーがアクセスした URL とサフィックスに基づいてリクエストを判断します。
step3: 2 番目のステップから、ユーザーが動的コンテンツをリクエストしていることがわかります。nginx はリクエストを fastcgi クライアントに渡し、ユーザーのリクエストを fastcgi_pass 経由で php-fpm に送信します。
関連する推奨事項: "php チュートリアル"
ユーザーが静的リソースにアクセスする場合は、簡単です。nginx は、ユーザーが要求した静的リソースをユーザーに直接返します。
step4: fastcgi_pass が動的リソースを php-fpm に渡した後、php-fpm はリソースを php スクリプト解析サーバーのラッパーに転送します。
step5: ラッパーは php-fpm から転送されたリクエストを受信した後、php 動的プログラム解析サーバーを呼び出すための新しいスレッドを生成します。
step6: PHP はクエリ結果を nginx に返します。
step7: nginx は応答メッセージを作成し、結果をユーザーに返します。
これは nginx の 1 つのタイプにすぎません。ユーザーのリクエストとユーザーのリクエスト結果の返却は非同期で実行されます。つまり、ユーザーがリクエストしたリソースは nginx 内で転送され、nginx は同期することができます。は解析されたリソースです。サーバーは、nginx で転送を行うことなく、リソースをユーザーに直接返します。
##つまり: Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php parser#
以上がphp と nginx がどのように相互作用するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。