Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

1. 概要

今日は、Nginx 構成ファイルについて詳しく説明し、構成に関する提案をいくつか紹介します。皆さんのお役に立てれば幸いです。

2. nginx.conf

1) 設定ファイルの場所

nginx インストール ディレクトリの conf フォルダー内 (例: /usr/local/nginx/conf/nginx.conf)。

設定ファイルを任意の場所に配置して、Nginx の起動時に設定ファイルの場所を指定することもできます。例: ./nginx -c /home/nginx.conf

2) ワーカープロセス

ワーカーの数を設定します。Nginx のプロセス モデルでは、マスター モードとワーカー モードが使用されます。1 つのマスターが調整を担当し、複数のワーカーがクライアントとのやり取りを担当します。

ここでは自動に設定してください。

3) イベント

使用するモデルとワーカーあたりの接続数を設定します。

Linux オペレーティング システムのモデルでは、epoll の使用が推奨されています。

ワーカー接続数は通常 10240 に設定されています。もちろん、ハードウェア リソースが非常に優れている場合は、適切に増やすことができます。

4) 含まれるもの

別のファイルの内容をタグに配置して、そのファイルの内容を組み込みます。

複数のファイルに対して複数の include を記述したり、ワイルドカードを使用して複数のファイルを一致させたりすることができます。

5) sendfile と tcp_nopush

sendfile: 効率的なファイル転送を有効にするかどうかを設定します。デフォルトでは有効になっています。

tcp_nopush: sendfile 値がオンの場合にのみ有効です。tcp_nopush がオンに設定されている場合、データ パケットは特定のサイズに達すると送信されるため、ファイル転送の効率が向上します。

両方をオンに設定することをお勧めします。

6) キープアライブタイムアウト

クライアントがサーバーに接続するためのタイムアウト期間。接続が切断される前に、クライアントはサーバーと再度対話し、この接続を再利用できます。接続を再確立する必要がないため、リソースのオーバーヘッドが削減されます。

0 に設定されている場合、対話後すぐに切断することを意味します。この値はデフォルトのままにしておくことができます。

7) 圧縮

オンに設定すると、データは送信前に圧縮されるため、送信効率が向上し、帯域幅が節約されますが、サーバー CPU のパフォーマンスに影響します。

この構成を有効にするには、いくつかの追加プロパティも構成する必要があります。

ここでは、帯域幅を節約するか、CPU パフォーマンスを向上させるかを検討できます。実際の状況に応じて有効にして設定することをお勧めします。

次のようにコードをコピーします
gzip on;gzip_min_length 512; # 最小圧縮制限(バイト単位)。この値より小さい場合は圧縮されません。gzip_comp_level 5; # 圧縮レベル(値は 1 ~ 9)。レベルが高いほど圧縮率が上がり、CPU 消費量が増えます。gzip_types text/plain application/javascript text/css image/jpeg image/gif image/png application/json; # 圧縮が必要なファイルの種類

8) サーバー

サーバー ブロックは仮想サービスです。

サーバー ブロックでは、仮想サービスのポート、サービス名、ルーティング ルールなどの情報を指定できます。

サーバーは複数存在できます。

サーバー上には複数の場所が存在する場合があります。

サーバー{
        listen 90; # port server_name localhost; # サービス名。IP アドレスまたはドメイン名にすることができます。ポートが同じ場合、ルーティング ルールはサービス名に従って選択されます location / { # ルート パス ルーティング ルール root html; # nginx インストール ターゲットの下の html フォルダーに対応し、絶対パスに設定することもできます。例: root /home/html;
            index hello.html; #デフォルトのホームページをhello.htmlとして指定します
        }
     location /hello { root /home/hello; # インデックスは省略されており、デフォルトページがないことを示しています} 
             error_page 500 502 503 504 /50x.html; # これらのステータスコードがジャンプするエラーページを指定します location = /50x.html {
            ルートhtml;
        }
    }

9) 位置マッチングルールの詳細な説明

サーバー ブロックにはロケーション ブロックが含まれます。サーバーの下には複数のロケーション ブロックが存在する可能性があり、これらは主にリクエストのルーティング ルールを構成するために使用されます。

Nginx は、要求されたリソース パスをロケーション ブロックと照合し、ロケーション構成に従ってルートを転送します。

Location は複数の一致ルールをサポートしており、これについては以下で詳しく説明します。

完全一致

location / { # ルートパスのルーティングルール root html; # nginx インストールターゲットの下の html フォルダーに対応し、絶対パスに設定することもできます。例: root /home/html;
            index hello.html; #デフォルトのホームページをhello.htmlとして指定します
        }
    場所 /hello {
     ルート /home/hello;
     # インデックスが省略されているため、デフォルト ページがないことを示します}

正規表現マッチング

    location ~* \.(GIF|PNG|jpg|bmp|jpeg) { # * は大文字と小文字を区別しません。ルート /home/img;
    }

特定のパスで始まるリクエストに一致します

    場所 ^~ /server/page/ {
        ルート /home/page;
    }

3. 概要

今日は Nginx の設定について詳しく説明しました。Nginx の高度なアプリケーションについては、後ほど別途紹介します。もっとコミュニケーションをとって、一緒に成長していけたらと思います。

Nginx 設定ファイルの詳細な説明と最適化に関するこの記事はこれで終わりです。より関連性の高い Nginx 設定ファイルの最適化コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx 設定ファイルでの変数の記述と使用に関する簡単な分析
  • Nginx の nginx.conf 設定ファイルに関する中国語のコメント
  • nginx 設定ファイルの中国語での詳細な説明
  • Windows での Nginx 設定と設定ファイルの概要
  • Nginx サーバー構成ファイルの完全な分析
  • nginx設定ファイルの場所を見つける方法の詳細な説明
  • Nginx設定ファイルの詳細な説明
  • Nginx設定ファイルの詳細な説明

<<:  HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

>>:  MySQL がデフォルト値を持つ NULL 列の使用を推奨しない理由

推薦する

CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...

MySQL の遅いクエリの例

導入スロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメントを記録で...

Linux コマンドラインで他のユーザーと通信する方法

Linux のコマンドラインで他のユーザーにメッセージを送信するのは簡単です。これを行うコマンドは多...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...

DD DT DLタグの使用例

通常は <ul><li> タグを使用しますが、dd タグと dt タグも便利...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

よく使われるnginxの書き換えルールの詳細な説明

この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...

Vueでaxiosをカプセル化する方法

目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...

Vue カスタム箇条書きボックス効果 (確認ボックス、プロンプトボックス)

この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...

この記事では、jsのデータ型とデータ構造の世界を紹介します。

目次1. 動的型付けとは何ですか? 2. データ型2.1 プリミティブ型 (6 つのプリミティブ型、...

SQL文でのgroup byの使用について簡単に説明します

1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...

ワンクリックで雨や雪のエフェクトを実現する ThingJS パーティクルエフェクト

目次1. パーティクルエフェクト2. シーンを読み込む3. さまざまな粒子効果の実現エンディング: ...

Intellij IDEA による Docker イメージの展開方法の手順の迅速な実装

目次1. Dockerはリモートアクセスを可能にする2. Intellij IDEAにDockerプ...

HTML で相対パスを使用してディレクトリのすべてのレベルのファイルを取得する方法の詳細な説明

相対パスの概念現在のファイルの場所を参照ポイントとして使用して、ターゲット ファイルへのパスを確立し...

Linux での SSH パスワードフリーログイン設定の詳細な説明

Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...