機械翻訳について

NGINX構成ディレクティブ

NGINX構成は複数のファイルにまたがり、異なる構成ディレクティブを指定して構成変数の値を設定できます。 構成は/etc/nginxに格納されます。 基本構成は/etc/nginx/nginx.confに格納されますが、サイト固有の構成は/etc/nginx/conf.d/の個別のファイル内に作成される傾向があります。 通常、サイト構成では、ファイル名に完全なドメイン名を使用する傾向があり、.conf接尾辞が必要です。

これらの例では、構成には次の一般的な形式があります。

http {
  server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    location / {
       root /usr/share/nginx/html/example.com;
       index index.html;
    }
  }
}

前述の例は、Webルート・ディレクトリ/usr/share/nginx/html/example.comのコンテンツを提供するWebサーバーのHTTPサーバー構成を示しています。

次の構成ディレクティブは、ロード・バランシングの構成に便利です。

httphttpsstream

設定を適用するプロトコルを定義します。 ロード・バランサへのTLS接続にはhttpsを使用し、一般的なTCP/UDPトラフィックにはstreamを使用します。

server

選択したプロトコルに対して指定したポートからの受信トラフィックを処理する方法を定義します。

IPv4用に少なくとも1つのリスニング・ポートを構成するには、listenキーワードを使用します。

listen 80;

IPv6インタフェースでリスニングするには、ポート番号の前に[::]:ディレクティブを追加します。次に例を示します。

listen [::]:80

listen行を複製して、server{}ブロックに複数のポートを指定できます。

server_nameキーワードを使用して、サーバーが応答するホスト名またはドメイン名を定義します。 この値を指定しない場合、構成は受信接続に適用されますが、構成定義が競合しないように、/etc/nginx/nginx.conf内のデフォルト・サーバー構成をコメント・アウトすることが必要な場合があります。

location

locationディレクティブは、サーバー上の受信リクエストに応じてパス・マッピングおよび動作を定義します。 少なくとも、値/で示されるWebルートの値が必要です。 この動作は、場所ブロック内で値を設定することによって定義されます。

たとえば、サーバー上のディレクトリのコンテンツを提供する単純なWebサーバーを構成するには、rootキーワードを使用して、コンテンツがあるディレクトリを指定します。

proxy_passディレクティブは、リバース・プロキシ・サービスの実装に使用できます。 トラフィックは、アップストリーム・ディレクティブで定義されているように、指定されたサーバーまたはサーバー・グループにプロキシ設定されます。

たとえば、次のように、ポート9090websrv1.example.comでホストされているWebサイトにインバウンドHTTPトラフィックをプロキシ設定します。

server {
  location / {
    proxy_pass http://websvr1.example.com:9090
  }
}              

また、定義されたupstream名を参照して、サーバー・グループを指定することもできます。

upstream

upstreamディレクティブは、コンテンツが格納され、proxy_passディレクティブで使用できる1つ以上のサーバーのグループを定義するために使用されます。 たとえば、backendというサーバーのアップストリーム・グループを次のように作成できます。

upstream backend {
    server server1.example.com;
    server server2.example.com;
    server server3.example.com;
  }

このグループを使用するには、proxy_passディレクティブを指定します。

proxy_pass http://backend

アップストリーム・ディレクティブは、ロード・バランシングの方法およびアルゴリズムの制御に使用される主要な構成コンポーネントです。 詳細は、http://nginx.org/en/docs/http/ngx_http_upstream_module.htmlを参照してください。