- Home ›
- Nginx入門 ›
- Nginxの設定ファイル
仮想サーバ(バーチャルホスト)の設定(serverコンテキスト)
Nginx を Web サイトとして使用する場合、 1 つの Nginx サーバで複数の Web サイトを公開することができます。このとき、それぞれの Web サイト毎に仮想サーバ(バーチャルホスト)を用意しますが、その定義に使用されるのが server コンテキストです。ここでは Nginx で server コンテキストを使って仮想サーバを定義する方法について解説します。
serverコンテキストとは
Nginx では 1 つのサーバで複数の Web サイトを公開できます。具体的には、それぞれの Web サイトごとに仮想サーバを作成します。この仮想サーバの定義に使用されるのが server コンテキストです。 server コンテキストの書式は次の通りです。
Syntax: server { ... }
Default: —
Context: http
server コンテキストは http コンテキストに記述します。基本的には 1 つのドメイン名に対して 1 つの仮想サーバを作成しますが、複数のドメインを 1 つの仮想サーバでまとめて管理することも可能です。
http {
server {
# ・・・
}
server {
# ・・・
}
server {
# ・・・
}
}
それぞれの仮想サーバのコンテキスト内で、どの IP アドレスとポート番号でリクエストを受け付けるのかを listen ディレクティブで、そしてどのドメイン名を処理するのかを server_name ディレクティブで設定します。
http {
server {
listen 80;
server_name example.com;
}
server {
listen 192.168.0.1:80;
server_name example.jp;
}
}
クライアントから Nginx サーバへリクエストを受け取ると、まず listen で IP アドレスとポートを絞り込み、次に server_name でドメイン名を照合することで、処理を行う仮想サーバが決定されます。
server ブロックには、他にリクエストされたパス(URL の後半部分)に応じてどのようなデータを返すかを location コンテキストを使って定義します。
http {
server {
listen 80;
server_name example.com;
location / {
root html_com;
index index.html;
}
}
}
※ location コンテキストについては次のページで解説します。
-- --
Nginx で server コンテキストを使って仮想サーバを定義する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。