ホームページ > 運用・保守 > Nginx > Nginx 構成システムは何で構成されていますか?

Nginx 構成システムは何で構成されていますか?

(*-*)浩
リリース: 2019-11-26 16:39:46
オリジナル
3132 人が閲覧しました

Nginx 構成システムは何で構成されていますか?

Nginx 構成システムは、メイン構成ファイルとその他の補助構成ファイルで構成されます。これらの設定ファイルはすべてプレーン テキスト ファイルで、Nginx インストール ディレクトリの下の conf ディレクトリにあります。 (推奨される調査: nginx チュートリアル )

構成ファイル内の # で始まる行、または先頭に多数のスペースまたは TAB があり、その後に # が続く行は、それとみなされます。はコメントです。つまり、ファイルを編集および表示するユーザーにとってのみ意味があり、プログラムがこれらのコメント行を読み取るとき、その実際の内容は無視されます。

メイン設定ファイル nginx.conf 以外のファイルは特定の状況下で使用されるため、どのような状況でもメイン設定ファイルのみが使用されます。そこで、ここではメインの設定ファイルを例として、Nginx の設定システムについて説明します。

nginx.conf には、いくつかの設定項目が含まれています。各設定項目は、設定命令と命令パラメータの 2 つの部分で構成されます。命令パラメータは、設定命令に対応する設定値です。

コマンドの概要

設定コマンドは文字列であり、一重引用符または二重引用符で囲むことも、囲まないこともできます。ただし、構成ディレクティブにスペースが含まれる場合は、引用符で囲む必要があります。

コマンド パラメータ

コマンドのパラメータは、1 つ以上のスペースまたは TAB 文字でコマンドから区切られます。命令のパラメータは 1 つ以上の TOKEN 文字列で構成されます。 TOKEN 文字列はスペースまたは TAB キーで区切られます。

TOKEN 文字列は、単純な文字列または複合構成ブロックに分割されます。複合構成ブロックは、中括弧で囲まれた一連のコンテンツです。複合構成ブロックには、他のいくつかの構成ディレクティブが含まれる場合があります。

構成命令のパラメータがすべて単純な文字列で構成されている場合、つまり複合構成ブロックが含まれていない場合、その構成命令は単純な構成アイテムであると言い、それ以外の場合は複合構成アイテムと呼ばれます。構成アイテム。たとえば、次は単純な構成項目です:

   error_page   500 502 503 504  /50x.html;
ログイン後にコピー

単純な構成の場合は、構成項目の最後にセミコロンを使用します。複数の TOKEN 文字列を含む複雑な構成アイテムの場合、通常、単純な TOKEN 文字列が先頭に配置され、複合構成ブロックが最後に配置され、末尾にセミコロンを追加する必要はありません。たとえば、次のような複雑な設定項目:

location / {
            root   /home/jizhao/nginx-book/build/html;
            index  index.html index.htm;
        }
ログイン後にコピー

命令コンテキスト

nginx.conf 内の設定情報は、論理的な意味に従って分類され、次のように分類されます。複数のスコープ、または構成命令コンテキストと呼ばれます。さまざまなスコープには 1 つ以上の構成項目が含まれます。

現在 Nginx でサポートされているいくつかのコマンド コンテキスト:

main: 特定のビジネス機能 (http サービスや電子メール サービス プロキシなど) とは関係のない Nginx の一部のパラメーター) 実行時 (動作中のプロセスの数、実行中の ID など)。

http: http サービスの提供に関連するいくつかの構成パラメータ。例: キープアライブを使用するかどうか、圧縮に gzip を使用するかどうかなど。

server: http サービスではいくつかの仮想ホストがサポートされています。各仮想ホストには対応するサーバー構成項目があり、これには仮想ホストに関連する構成が含まれます。メール サービスにプロキシを提供する場合、複数のサーバーを確立することもでき、各サーバーはリスニング アドレスによって区別されます。

location: http サービスにおける、特定の URL に対応する一連の設定項目。

mail: 電子メール関連の SMTP/IMAP/POP3 プロキシを実装する場合の一部の共有構成項目 (複数のプロキシを実装し、複数のリスニング アドレスで動作できるため)。

命令コンテキストには、包含状況が存在する可能性があります。例: 通常、http コンテキストと mail コンテキストはメイン コンテキストに表示される必要があります。コンテキストには、別のタイプのコンテキストが複数回含まれる場合があります。たとえば、http サービスが複数の仮想ホストをサポートしている場合、複数のサーバー コンテキストが http コンテキストに表示されます。

サンプル構成を見てみましょう:

user  nobody;
    worker_processes  1;
    error_log  logs/error.log  info;

    events {
        worker_connections  1024;
    }

    http {  
        server {  
            listen          80;  
            server_name     www.linuxidc.com;  
            access_log      logs/linuxidc.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/linuxidc.com/htdocs;  
            }  
        }  

        server {  
            listen          80;  
            server_name     www.Androidj.com;  
            access_log      logs/androidj.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/androidj.com/htdocs;  
            }  
        }  
    }

    mail {
        auth_http  127.0.0.1:80/auth.php;
        pop3_capabilities  "TOP"  "USER";
        imap_capabilities  "IMAP4rev1"  "UIDPLUS";

        server {
            listen     110;
            protocol   pop3;
            proxy      on;
        }
        server {
            listen      25;
            protocol    smtp;
            proxy       on;
            smtp_auth   login plain;
            xclient     off;
        }
    }
ログイン後にコピー

この構成には、上記の 5 つの構成コマンド コンテキストがすべて存在します。

メイン コンテキストに存在する構成ディレクティブは次のとおりです:

userworker_processeserror_logeventshttpmail
ログイン後にコピー

http コンテキストに存在するディレクティブは次のとおりです:

server
ログイン後にコピー

メールコンテキストは次のとおりです:

serverauth_httpimap_capabilities
ログイン後にコピー

サーバーコンテキストに存在する構成ディレクティブは次のとおりです:

listenserver_nameaccess_loglocationprotocolproxysmtp_authxclient
ログイン後にコピー

ロケーションコンテキストに存在するディレクティブは次のとおりです:

indexroot
ログイン後にコピー

もちろん、これらはほんの一例です。特定の構成手順と、これらの構成手順がどのようなコンテキストで表示されるかについては、Nginx の使用法ドキュメントを参照する必要があります。

以上がNginx 構成システムは何で構成されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート