Nginxの設定入門|Webサーバー基礎からリバースプロキシ設定まで

現場実践|Webサーバー設定
Nginxの設定入門
Webサーバー基礎からリバースプロキシまで
AWSのEC2・オンプレサーバーを問わず最も普及しているWebサーバーNginxの基礎設定から実践的なリバースプロキシ設定まで解説します。
💡 NginxはApacheと並ぶ2大Webサーバーのひとつ。高い並行処理性能と設定のシンプルさが特徴で、クラウド環境での採用率が急増しています。
1. インストール
# Amazon Linux 2023 / Rocky Linux 9
sudo dnf install nginx -y
sudo systemctl enable --now nginx
# 起動確認
systemctl status nginx2. 基本設定の構造
# /etc/nginx/nginx.conf の基本構造
http {
# グローバル設定
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
}3. バーチャルホスト設定(複数ドメインの管理)
また、複数のドメインを1台のサーバーで運用する場合はバーチャルホスト設定を使います。/etc/nginx/conf.d/に各ドメインのconfファイルを作成し、include conf.d/*.conf;で読み込む方法が管理しやすいです。
4. リバースプロキシ設定(Node.jsやPythonアプリへの転送)
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}このリバースプロキシ設定でNginxが80番ポートでリクエストを受け付け、バックエンドの3000番ポートのアプリに転送します。
5. Let’s Encryptを使ったSSL設定
# certbotのインストールとSSL証明書の取得
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
# 自動更新の確認
certbot renew --dry-run📌 この記事のポイント
- Nginxの基本構造はhttp→server→locationのネスト構造
- 複数ドメインの管理はconf.d/に個別ファイルを作成する方法が管理しやすい
- proxy_passでリバースプロキシを設定してNode.js等のアプリに転送できる
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




