インフラ 2026-04-09
IT用語: Nginxとは|高性能なWebサーバー・リバースプロキシの定番
イベント駆動型アーキテクチャで高並列処理を実現するNginxの仕組み・設定例・Apacheとの違いを解説。
Nginxとは
Nginxは、Igor Sysoevが開発したオープンソースのWebサーバー・リバースプロキシ・ロードバランサーです。「10,000の同時接続を処理する」(C10K問題)を目標に設計されたイベント駆動型(非同期)アーキテクチャを採用しており、少ないメモリで高い並列性を実現します。Webサーバーシェアの約30%以上を占め、高トラフィックサイトで広く採用されています。
主要な設定例
server {
listen 80;
server_name example.com;
# HTTPSにリダイレクト
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/example.com.crt;
ssl_certificate_key /etc/ssl/example.com.key;
# リバースプロキシ設定
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# 静的ファイルの直接配信
location /static/ {
root /var/www;
expires 30d;
}
}
NginxとApacheの違い
| 比較軸 | Nginx | Apache |
|---|---|---|
| アーキテクチャ | イベント駆動(非同期) | プロセス/スレッド駆動 |
| 同時接続 | 非常に高い | 中程度(設定で改善可) |
| 設定の柔軟性 | 中(設定がシンプル) | 高(.htaccessで分散設定) |
| 静的ファイル配信 | 非常に高速 | 速い |
| モジュール | 静的ロード | 動的ロード(.htaccess) |
よく使われる機能
- リバースプロキシ: Nginx→Node.js/Python/Javaアプリへの転送
- SSL終端: HTTPS処理をNginxで引き受けアプリサーバーの負荷を軽減
- 静的ファイル配信: HTML・CSS・画像を直接配信(最速)
- レート制限: 特定IPからのリクエスト数制限
関連する用語 (インフラ)
全16件を見るIT用語: ロードバランサーとは|複数サーバーへのトラフィック分散の仕組み
アクセスを複数のサーバーに振り分けて可用性とスケーラビリティを高めるロードバランサーの仕組みと種類を解説。
詳しく読む
Kubernetes (クーバネティス/K8s)
大量のDockerコンテナを自動で管理・操作するための「コンテナオーケストレーション」ツール。
詳しく読む
IT用語: 高可用性(HA)とは|障害時も止まらないシステム設計の原則
サービスのダウンタイムを最小化する高可用性(High Availability)の設計パターンと可用性計算の方法を解説。
詳しく読む
IT用語: NFS(ネットワークファイルシステム)とは|ネットワーク越しの共有ストレージ
複数のLinuxサーバーからネットワーク越しに同じディレクトリをマウントできるNFSの仕組みとAWS EFSを解説。
詳しく読む
IT用語: Keepalivedとは|VIPによる自動フェイルオーバーを実現するHA構成ツール
仮想IPアドレス(VIP)とVRRPプロトコルでLinuxサーバーのActive-Standby自動切り替えを実現するKeepalived。
詳しく読む
IT用語: systemdとは|Linuxの初期化システムとサービス管理の仕組み
Linux起動プロセスの管理とデーモンのライフサイクルを制御するsystemdの仕組みとsystemctlコマンドを解説。
詳しく読む