Nginxサーバーブロックの理解:よくある設定の疑問
この記事では、Nginxサーバーブロックの設定に関するよくある質問(構造、locationディレクティブ、静的コンテンツの効率的な配信など)について、新規デプロイ時のポイントを交えて解説します。
Nginxサーバーブロックとは?
Nginxのサーバーブロック(Apacheでいうバーチャルホスト)は、1つのサーバーで複数のドメインやWebサイトをホストするための設定です。
よくある質問
1. サーバーブロックの基本構造は?
通常、/etc/nginx/sites-available/ に設定ファイルを作成し、/etc/nginx/sites-enabled/ にシンボリックリンクを貼るのが一般的です。
server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
try_files $uri $uri/ =404;
}
}
2. locationディレクティブの優先順位は?
Nginxは特定のルールに従ってマッチングを行います。プレフィックスマッチ(^~)や正規表現(~, ~*)の優先順位を理解することが重要です。
3. 静的コンテンツを効率的に配信するには?
expires ヘッダーを設定してブラウザキャッシュを活用しましょう。
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}