現場実践|Webサーバー設定

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

AWSのEC2・オンプレサーバーを問わず最も普及しているWebサーバーNginxの基礎設定から実践的なリバースプロキシ設定まで解説します。

読了目安:約18分更新日:2026年3月

💡 NginxはApacheと並ぶ2大Webサーバーのひとつ。高い並行処理性能と設定のシンプルさが特徴で、クラウド環境での採用率が急増しています。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有AzureFundamentals 保有SES現場を複数経験

Webサーバー構築・設定を多数の現場で経験してきた立場から解説します。

1. インストール

# Amazon Linux 2023 / Rocky Linux 9
sudo dnf install nginx -y
sudo systemctl enable --now nginx

# 起動確認
systemctl status nginx

2. 基本設定の構造

# /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月からフリーランス講師として本格始動予定です。

※Nginxのバージョンにより仕様が異なります。公式ドキュメントもご参照ください。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営