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

Nginxの設定入門
WebサーバーをLinuxで構築する基礎

Webシステムのインフラを担うNginx。インストールから設定ファイルの書き方・HTTPS対応・リバースプロキシまで、インフラエンジニアが知るべき基礎を解説します。

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

💡 NginxはApacheより高い並列処理性能を持つ軽量Webサーバー。現在のWebシステムではNginxをリバースプロキシとして使うアーキテクチャが主流です。

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

Webシステムのインフラ設計・構築を多数手がけてきた立場から解説します。

1. インストール(Amazon Linux 2 / CentOS系)

sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

2. 設定ファイルの構造

ファイル・ディレクトリ役割
/etc/nginx/nginx.confメイン設定ファイル
/etc/nginx/conf.d/*.conf個別の設定ファイル
/var/log/nginx/access.logアクセスログ
/var/log/nginx/error.logエラーログ

3. バーチャルホスト設定

# /etc/nginx/conf.d/example.conf
server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;
    access_log /var/log/nginx/example_access.log;
    error_log  /var/log/nginx/example_error.log;
}

4. HTTPS設定(Let’s Encrypt)

# Certbotでssl証明書を取得
sudo yum install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

CertbotがNginx設定を自動で書き換えてくれます。

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;
    }
}
📌 この記事のポイント
  • NginxはApacheより軽量で高並列処理性能を持つWebサーバー
  • conf.d配下に個別のバーチャルホスト設定を作成するのがベストプラクティス
  • Let’s Encrypt+Certbotで無料HTTPS化が自動化できる

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

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

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

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