ホームページ  >  記事  >  バックエンド開発  >  LNMP の運用および保守の追跡

LNMP の運用および保守の追跡

不言
不言オリジナル
2018-07-13 15:48:272199ブラウズ

この記事では、一定の基準値を持つ LNMP の運用保守追跡を中心に紹介します。今回はそれを皆さんに共有します。必要な友人は参考にしてください。

LNMP 運用保守追跡スキルのまとめ

少し前に、会社の LNMP Web サイトの運用と保守を始めましたが、苦労の末、LNMP サーバーで Web サイトのさまざまなエラーをデバッグおよび追跡するための多くの方法をまとめました。良い記憶力は悪い文章ほど良くないので、まとめてみましょう。

最初に、Web リクエストの開始から応答までの各段階でサーバーとブラウザが何を行うかについて、私が理解していることを整理します。ユーザー応答の例外はすべてこのプロセスで発生します。各プロセスの詳細を知ることで、さまざまな方法を使用して例外が発生する段階を特定できるため、エラーをより正確かつ迅速に特定できます。以下は、この Web サイトで拷問を受けている間に私が経験したさまざまなエラーの継続的に更新されたリストです。自分用に記録を残しておきます。もちろん、他の人の助けになれば光栄です。

Web リクエスト中には具体的に何が起こるのでしょうか?

LNMP の運用および保守の追跡

上の図は、単純な Web リクエスト プロセスです。確かに、この図は少し単純すぎます。上の図では多くの詳細を隠しています。

ステップ 1

ユーザーは、http:www などの URL を入力します。 baidu.com をブラウザに入力すると、Chrome などのブラウザはそれを IP アドレスに解析する必要があり、それによって初めて、どこのサーバーにアクセスすればよいかがわかります。ブラウザが DNS を解決する手順は次のとおりです:

  1. ブラウザ自身の DNS キャッシュを検索します。このキャッシュはキャッシュ時間が短く、キャッシュの数が限られています。

  2. オペレーティング システムの DNS キャッシュを検索します。

  3. ホスト ファイルの DNS マッピングを読み取ります (通常、ローカル開発マッピングの場合、このファイルはローカル サーバーへのブラウザ要求をインターセプトするという目的を達成するために変更され、ローカル サーバー アドレスが正常にマッピングされるようになります)

  4. まず、ローカル ネットワーク カード構成内の DNS サーバーがドメイン名解決リクエスト。ここに一連の操作があるようです。ビジネス プロセスは実行されなくなります。

  5. 以下のような処理があるようですが、ここまでは基本的に実行されないので、通常はDNS事業者のDNSサーバーが処理します。

  6. 解析に失敗しました。上記の手順のいずれかが成功すると、成功した IP アドレスが返されます。

2 番目の手順

ブラウザは、有名な TCP 3 ウェイ ハンドシェイクを開始するために、この IP アドレスの特定のポート (デフォルトは 80) をランダムなポートで共有します。 http リクエストが nginx サービスに到達するプロセスは、大まかに次のとおりです。

st=>start: TCP请求
en=>end: 异常
op=>operation: Nginx模块
cond1=>condition: 进入网卡?
cond2=>condition: 内核的TCP/IP协议栈?
cond3=>condition: 防火墙?

st->cond1
cond1(yes)->cond2
cond1(no)->en
cond2(yes)->cond3
cond2(no)->en
cond3(no)->en
cond3(yes)->op

第 3 ステップ

ハンドシェイクが完了すると、ブラウザとサーバーは http リクエストを、具体的には次のように送信できるようになります。 nginx プロセスは次のとおりです。

st=>start: http请求
en=>end: response响应 
op1=>operation: 第二步流程 
op2=>operation: nginx进程 
op3=>operation: 获取http的头部信息 
op4=>operation: 匹配server_name,定位到站点的root 
op5=>operation: 进入代码框架的路由 
op6=>operation: 框架的路由解析器解析出php文件 
op7=>operation: php进入fastcgi进程 
op8=>operation: fastcgi进程将php填充成html文件 
op9=>operation: html文件递交给nginx并设置响应信息 

st->op1->op2->op3->op4->op5->op6->op7->op8->op9->en

ステップ 4

ブラウザは、サーバー応答の応答ヘッダーと応答本文に基づいてビジュアル ページをレンダリングします。

##1xx情報ステータスの説明 ## 2xx3xx301302##304Not Modified です。たとえば、ローカルにキャッシュされたリソース ファイルとサーバー上のリソース ファイルを比較する場合、次のようになります。サーバーは 304 ステータス コードを返し、リソースをリクエストする必要はなく、ローカル リソースを直接使用するだけであることをブラウザに伝えます4xxクライアント エラー404Not Found 要求された URL リソースが存在しません5xxサーバー エラー500内部サーバー エラーサーバーの内部エラー#502不正なゲートウェイフロント プロキシ サーバーがバックエンド サーバーに接続できない場合、504Gateway Timeout が表示されます。これは、プロキシはバックエンド サーバーに接続できますが、バックエンド サーバーが、指定された時間内にプロキシ サーバーに応答しません。

上記がこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

PhpStorm コード形式設定の概要

yii2 で DI を設定する方法フレームワーク コンテナーのソース コードにおけるリフレクションの役割を理解する

##
応答コード #説明
成功ステータス コード
リダイレクト ステータス コード
永続的なリダイレクト。Location 応答ヘッダーの値は現在の URL のままであるため、これは非表示のリダイレクトです。
一時的なリダイレクト、明示的なリダイレクト、 Location 応答ヘッダーの値は、新しい URL

以上がLNMP の運用および保守の追跡の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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