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 列の使用を推奨しない理由

推薦する

MySQL データベースの show processlist コマンドの使用の分析

実際のプロジェクト開発では、多数のクエリや挿入、特にマルチスレッド挿入など、データベースに大きな負荷...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

JavaScript で円形カルーセルを実装する

この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...

CentOS8でのDockerの使い方の詳しい説明

1. CentOS8でのDockerのインストール カール https://download.doc...

MySQLとOracleの違いのまとめ(機能性能の比較、選択、使用時のSQLなど)

1. 同時実行性同時実行性は OLTP データベースの最も重要な機能ですが、同時実行性にはリソース...

JavaScript関数の詳細な紹介

任意の数のステートメントを関数を通じてカプセル化することができ、いつでもどこでも呼び出して実行できま...

JQuery を放棄すべきでしょうか?

目次序文jQuery 以外の場合は何を使うのでしょうか? DOMとイベントAJAX リクエスト要約す...

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...

MySQL 5.6.36 Windows x64 バージョンのインストールチュートリアルの詳細

1. 対象環境Windows 7 64ビット2. 材料(1)VC++2010リリースパッケージ(64...

MySQL query_cache_type パラメータと使用方法の詳細

MySQL クエリ キャッシュを設定する目的は次のとおりです。クエリ結果をキャッシュしておくと、次回...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...

優れたウェブフロントエンドデザインの指標

Web ページのアクセシビリティは、フロントエンドでのみ評価および実装できるもののようです。ユーザビ...

HTMLハイパーリンクタグAのTARGET属性の詳細な説明

ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...

Javascript と Vue を組み合わせて、あらゆる迷路画像の自動パス検索を実現します。

目次序文2次元配列、一方向基本インターフェースのマッピング幅優先、包括的検索マップ編集経路探索アルゴ...

LinuxテキストエディタVimの詳しい説明

Vim は強力なフルスクリーン テキスト エディターであり、Linux/UNIX で最も一般的に使用...