ホームページ  >  記事  >  バックエンド開発  >  nginx の学習 (1)

nginx の学習 (1)

WBOY
WBOYオリジナル
2016-08-08 09:22:56940ブラウズ

私は最近 CDN 関連のビジネスを始めました。たとえば、すべての Web サイトのキャッシュは、さまざまな転送、プロキシ、キャッシュ、負荷分散などの機能がすべてサポートされています。 nginxによる。

多くのアクセス制御戦略は、nginx に組み込まれた lua を使用して実装する必要があります。また、nginx 上でカスタマイズおよび開発する必要がある CDN に関連する大量のロジックとビジネスがあるため、nginx をマスターすることが基礎となります。 -CDN事業の深化。

そこで、nginx をより深く理解できるように、学習とビジネス開発を同時に行い、全体的な学習体験を記録する予定です。

現在、nginx の理解は次の側面に限定されています:

  • 1 nginx は、ロシアの専門家によってオープンソース化されたイベント駆動型モデル C/S アーキテクチャに基づく高性能 WEB サーバーであり、主に電子メールに関連する HTTP プロトコルをサポートします。
  • 2 nginx は WEB サーバーの中で最高のパフォーマンスを持っていますが、市場シェアでは 2 位にすぎませんが、Java の世界ではもちろん 1 位は Apache です。
  • 3 現在、国内の主流の CDN サービスのバックエンドは、ほぼすべて nginx に基づいています。
  • 4 nginx は非常に強力で、フォワード プロキシ、リバース プロキシ、キャッシュ、ロード バランシング、その他多くの機能をサポートしています。
  • 5 nginx は lua 拡張機能を非常によくサポートし、内部で lua インタープリターをロードして、lua 言語との完璧な適合を実現できます。現在、多くの機能は Lua スクリプトで完結しています。
  • 6 nginx は、マスターマネージャーとゼロから複数のワーカープロセスを備えたマルチプロセス管理方式を採用しており、特定のビジネスはすべて特定のワーカーによって完了されます。マスターは管理とスケジュールの責任のみを負います。
  • 7 nginx は、パイプラインを使用してメッセージ フローを処理します。処理プロセスは 11 段階に分かれており、各段階で条件が満たされない場合は早期に終了します。 。最も有名な 3 つの段階は、書き換え、アクセス、コンテンツです。リライトはURLのチェックや属性の変更、リダイレクトなどの内部処理を行うこと、アクセスは主にアクセス制御の実装などを行うこと、コンテンツはユーザーに送信する最終的なコンテンツを生成することです。
  • 8 nginx 内には、文字列、リンクされたリスト、ハッシュ、radix_tree (前に使用した) などを含む多くのデータ構造があります。これらのデータ構造をマスターすることが最善です。
  • 9 openresty というオープンソース プロジェクトがあり、これには nginx のコアと一般的に使用されるサードパーティ モジュールが含まれています。すぐにビルドしたい場合はそれを参照できます。

以上、nginx の学習 (1) をさまざまな側面を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

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