nginxとは?
nginx(エンジンエックス)は、軽量で高性能なWebサーバーソフトウェアです。静的なファイルの配信やリバースプロキシ、負荷分散など、さまざまな機能があります。特にトラフィックの多いサイトに向いています。これから、nginxの設定ファイルであるnginx.confについて詳しく解説します。
nginx.confの基本構成
nginx.confは、nginxの動作を設定するためのファイルです。一般的に、nginx.confには大きく分けて以下の3つのセクションがあります。
1. httpセクション
httpセクションでは、HTTPサーバーに関する設定を行います。ここでは、主にWebサーバーの基本設定や、リバースプロキシの設定などを行います。
http {
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
}
}
}
2. serverセクション
serverセクションは、特定のドメインやIPアドレスに対する設定を行います。複数のserverセクションを作成することで、同じnginxサーバー上で異なるサイトを運営できます。
server {
listen 80;
server_name mysite.com;
location / {
root /var/www/mysite;
index index.html;
}
}
3. locationセクション
locationセクションでは、特定のパスやリクエストに対する設定を行います。例えば、特定のURLに対して異なる処理を加えたい場合に使用されます。
location /images/ {
root /var/www/assets;
}
基本的な設定項目
nginx.confには、いくつかの基本的な設定項目があります。ここではよく使われる設定項目を紹介します。
listen
listenは、nginxがどのポートで待ち受けるかを指定します。ポート80はHTTP、ポート443はHTTPSで使われます。
server_name
server_nameは、リクエストを受け付けるドメイン名を指定します。複数のドメイン名を設定することも可能です。
root
rootは、Webサーバーが静的ファイルを探すディレクトリを指定します。正しいディレクトリを設定することで、ファイルを正しく配信できます。
index
indexは、ディレクトリにアクセスされたときに表示するデフォルトのファイルを指定します。通常はindex.htmlやindex.htmが一般的です。
まとめ
nginx.confはnginxを正しく動作させるための非常に大事なファイルです。初めは難しく感じるかもしれませんが、基本的なセクションを理解することで、設定がしやすくなります。