私がダウンロードしたnginxのソースコードバージョンは、テストには使用できません。日付によると、2015年7月の最新バージョンです。パッケージを解凍してソース コード フォルダーを取得し、ルート ディレクトリに入り、いくつかのサブディレクトリを見つけます: auto、conf、contrib、docs、misc、 のRC 。文字通りの推測では、オートマトンまたはスクリプト (auto script)、設定ファイル (configuration)、サポートファイル (contributions)、ドキュメント (document)、その他 () です。 雑多)、ソースコード(ソースコード)。
1、ソースコードフォルダーのルートディレクトリを参照します
いつものように、最初にドキュメントを読むことにしましたが、docサブディレクトリには詳細なオフラインドキュメントはなく、公式へのリンクのみがありますnginx のウェブサイト 理解できない小さなファイルがいくつかあります。
その他その他よく理解できないGNUmakefileと、READMEファイルが1つだけあります。
geo2nginx.pl(geoモジュールのCSVデータベース形式変換perlスクリプト)がcontribのサブディレクトリにあります。変換ファイル (2 つを含む)エンコーディング マップとエンコーディング変換 perl スクリプト)、および vim の nginx 専用の構文強調表示設定ファイル。
conf サブディレクトリには、いくつかのエンコーディング マッピング テーブル、変数マッピング テーブル、およびサーバー設定ファイルがあります。
auto サブディレクトリには、サーバーのインストール スクリプトを含む多くのスクリプトがあります。今はまだスクリプトを読むのが難しいため、簡単に参照します。 nginxは多くの主流オペレーティングシステムプラットフォームをサポートしていることが分かりました:Appleのオープンソースシステムdarwin、重要なUnixブランチfreebsd、linux、ほとんどのバージョンはすでにオープンしていますソースUnixsolarisの別のブランチ、最もユーザーシェアが高いブランチwin32。
src サブディレクトリは、実際に nginx の C ソース コードであり、以下で詳しく見ていきます。
2. srcサブディレクトリを参照します
core、event、 http 、 メール、その他、mysql、os、ストリーム。文字通りの意味に基づいて推測してみましょう: コア (メイン関数、データ構造、メインメソッド)、イベント (イベント処理メカニズム)、ハイパーテキスト転送プロトコル (http 関連)、電子メール (電子メール関連)、その他 () google perftools関連のソースコード)、mysqlデータベース、オペレーティングシステム(UnixとWin32のシステムコールプログラムのソースコード)、ストリーム(意味不明)。 ./src/core サブディレクトリは、ソース コードを学習するのに良いスタート地点であるようです。
写真2 nginx
ソースファイル構造図著作権表示: この記事はブロガーによるオリジナル記事であり、ブロガーの許可なく複製することはできません。
上記では、nginx のソース コード ファイル構造の参照について、内容の側面も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。