元のリンク: http://blog.csdn.net/xyang81/article/details/51814787
Nginx 構成はモジュール単位で編成されており、各モジュールには 1 つ以上の命令が含まれており、その命令は最小の構成ファイルに含まれています。構成単位では、すべての構成項目は命令です。たとえば、http コア モジュールの include、default_type、および sendfile 命令はすべて http モジュールに属します。すべての nginx モジュールの手順については、公式ドキュメントを参照してください: http://nginx.org/en/docs/dirindex.html
<code>注意:以下配置中的“上下文”表示指令可以配置在哪些模块中。 main:顶层配置,约束服务器的行为 </code>
1. サーバーレベルのコア構成
コマンド | コンテキスト | 構文 | デフォルト値 | 機能の説明 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
user | main | userEveryone nobyd; | nobody | ワーカースレッドを実行するためのユーザー権限 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
デーモン | main | デーモンはい; | はい | nginxがデーモンとして実行されるかどうか? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
worker_processes | main | worker_processesnumber; | 1 | ワーカープロセスの数を構成します。従来の Web サーバー (Apache など) はすべて同期ブロッキング モデルであり、1 つのリクエストが入力される (スレッド) モードであり、受信 (スレッド) の数がある程度増加すると、スレッドとプロセスの切り替えにより多くの CPU 時間が浪費され、パフォーマンスが低下します。急激に変化するため、負荷率は高くありません。 Nginx はイベントベースのノンブロッキング多重化 (epoll または kquene) モデルであり、1 つのプロセスが短期間に多数のリクエストに応答できます。一般に、この値を CPU コアの数以下に設定することをお勧めします。CPU コアの数よりも大きい場合は、メリットが得られません。むしろ、プロセス切り替えのオーバーヘッドに悪影響を及ぼす可能性があります。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
worker_connections | events | worker_connectionsnumber; | 1024 | プロセスごとに許可される同時接続の最大数を示す、同時応答機能の主要な構成値。 maxConnection = work_connections * work_processes; 通常、ブラウザは同時に 2 つの接続を開きます。nginx が到着した後のサーバーへの接続数も 2 つになります。通常、maxConnection = work_connections * work_processes / 2; アンチプロキシ サーバーとして動作する場合、maxConnection = work_connections * work_processes / 4; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
use | events | use epoll; | さまざまなプラットフォームに応じて、最も効率的なものを選択します接続処理メソッド | 接続要求の処理メソッドメソッドを指定します。 Linux カーネル 2.6 以降では、デフォルトで epoll メソッドが使用されます。他のプラットフォームについては、http://nginx.org/en/docs/events.html を参照してください。 注: 超高負荷下で最高のネットワーク応答機能を実現するには、ネットワークを最適化する必要があります 関連する Linux カーネル パラメーター | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
worker_cpu_affinity | main | worker_cpu_affinity cpumask…; | None | ワーカー プロセスを特定の CPU にバインドし、プロセス間の切り替えによる CPU オーバーヘッドを削減します。バイナリ ビットを使用して、プロセスがどの CPU コアにバインドされているかを示します。たとえば、8 コアと 4 プロセスを使用する場合の設定方法は次のようになります。 Linux カーネル ファイル記述子の数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
error_log | main、http、mail、stream、server、location | error_log ログ ファイルのパス ログ レベル; | error_log logs/error.log error; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pid | main | pid デーモン ソケット ファイル パス; | pid logs/nginx .pid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
上記は、サーバーレベルの動作を管理する nginx のトップレベルの構成です。設定の詳細については、公式ドキュメントを参照してください: http://nginx.org/en/docs/ngx_core_module.html#working_directory 2. HTTP モジュールのコア設定 nginx は、最も一般的に接続される HTTP リバース プロキシ サーバーです。 http リクエストに関連する設定である必要があります。http モジュールに関連するすべての設定は
上記では、Nginx のコア構成をその側面も含めて詳しく説明しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。
|