2026年5月21日
2026年5月21日
Nginxのserver blockの書き方と設定方法
ステップ1: Nginxのserver block設定ファイルを作成
まず、Nginxでウェブサイトをホストするためには、適切なserver blockを設定ファイルに追加する必要があります。サーバーブロックは、特定のドメイン名やIPアドレスに対してどのようにリクエストを処理するかを定義します。
# /etc/nginx/sites-available/example.com
ステップ2: server blockの基本設定
次に、server blockの基本的な構成要素について説明します。これには、サーバーアドレス、ホスト名、SSL証明書などの詳細が必要です。
# /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
}
}
ステップ3: SSL設定を追加
HTTPSでの通信にはSSL証明書が必要です。Let's Encryptなどの無料サービスを利用して証明書を取得し、Nginxにインストールします。
# /etc/nginx/sites-available/example.com
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/example.com/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
}
}
ステップ4: カスタマイズとパフォーマンスの最適化
カスタマイズやパフォーマンスを向上させるために、Nginxの設定ファイル内で様々なオプションを使用できます。
# /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/example.com/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
}
# キャッシュ設定
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
注意事項
- ファイル名の管理:
sites-availableディレクトリ内のファイルはシンボリックリンクを作成し、sites-enabledディレクトリにシンボリックリンクを置くことで有効化します。 - SSL証明書の更新: 証明書が切れる前に自動で更新するように設定します。
- セキュリティ上の注意: Nginxの設定は常に最新の推奨設定に従ってください。不適切な設定はセキュリティ上のリスクを招きます。
まとめ
1. server blockの基本構造: serverブロックは、特定のドメインに対するリクエストをどのように処理するかを定義します。
2. SSL設定の追加: HTTPS通信のためにSSL証明書が必要です。Let's Encryptなどの無料サービスを利用して取得し、Nginxにインストールします。
3. パフォーマンス最適化: キャッシュやログ設定などを通じてパフォーマンスを向上させることが可能です。
関連記事: