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

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

インフラエンジニアが必ず覚えるべきWebサーバー「Nginx(エンジンエックス)」の設定を、バーチャルホスト・リバースプロキシ・HTTPS設定まで解説します。

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

💡 NginxはApacheと並ぶLinux定番のWebサーバー。軽量・高パフォーマンスで、リバースプロキシ・ロードバランサーとしても広く使われます。

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

複数の本番Webサーバー構築・運用を経験してきた立場から、Nginxの実践的な設定を解説します。

1. Nginxとは

まず、Nginx(エンジンエックス)はロシアのIgor Sysoev氏が開発したオープンソースのWebサーバーです。Apacheと比較してメモリ効率が高く、大量の同時接続処理に強い特性を持ちます。現在はAWSのALB・CloudFrontと組み合わせて使われることが多いです。

2. インストール・起動

# CentOS/RHEL
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

# Ubuntu
sudo apt install nginx
sudo systemctl start nginx

3. 設定ファイル構造

また、メインの設定ファイルは/etc/nginx/nginx.confです。サイト別の設定は/etc/nginx/conf.d/配下に.confファイルを作成します。設定変更後はnginx -t(設定テスト)→systemctl reload nginx(再読み込み)の順で適用します。

4. バーチャルホスト設定(複数ドメイン)

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

5. リバースプロキシ設定

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;
    }
}

6. HTTPS設定(Let’s Encrypt)

# certbotで証明書を取得(RHEL/CentOS)
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

certbotはLet’s Encryptの証明書の取得・Nginx設定の自動更新・自動更新cronの設定まで自動で行います。

📌 この記事のポイント
  • Nginxは軽量・高性能なWebサーバー。リバースプロキシとしても広く使われる
  • 設定変更後はnginx -t(テスト)→systemctl reload(再読み込み)の順で適用する
  • certbotでHTTPS(Let’s Encrypt)設定を自動化できる

キャリアの疑問、一緒に解決しませんか?

Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※設定内容はNginxのバージョンにより異なります。公式ドキュメントもご参照ください。

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