採用に向く条件
選ぶ理由
- 大量同時接続に強い(イベント駆動)
- リバースプロキシ / LB / SSL 終端
- 設定がシンプルで高速
製品プロフィール
Igor Sysoev / 2004年登場
イベント駆動で大量同時接続に強い Web サーバ/リバースプロキシ。静的配信・ロードバランサ・SSL 終端に広く使われる。
基本情報
公開規模・コミュニティ・成熟度を比較できる指標です。GitHub / npm は2026年6月7日時点のスナップショットです。
選定ガイド
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
採用に向く条件
事前に確認する条件
詳しい解説
Nginx(エンジンエックス)は、Igor Sysoev 氏が開発し 2004 年に公開した Web サーバーです。C 言語で書かれ、大量の同時接続を少ないリソースで捌くことを狙って設計されました。当時の Apache が抱えていた「接続が増えるとプロセスが増えメモリを食う」課題(C10K 問題)への回答として広まりました。
横にスクロール
Web サーバーとしての静的配信に加え、リバースプロキシ・ロードバランサ・SSL 終端・APIゲートウェイとしても広く使われ、Web システムの「前段」を担う定番になっています。
中核はイベント駆動・非同期ノンブロッキングの処理モデルです。接続ごとにプロセスやスレッドを割り当てる方式と違い、CPU コア数程度の少数のワーカープロセスが、それぞれ epoll/kqueue といった OS のイベント通知を使って数千〜数万の接続を 1 プロセスで多重化します。各接続は状態機械として扱われ、I/O 待ちの間に他の接続を処理するため、接続数が増えてもメモリ消費が比例して膨らみにくいのが強みです。
設定は宣言的な階層構造(http → server → location)で見通しがよく、リバースプロキシも数行で書けます。
server {
listen 443 ssl;
location / {
proxy_pass http://backend;
}
}
設定変更時は、古いワーカーが処理中の接続を捌き終えてから入れ替わるグレースフルリロードに対応し、無停止での反映がしやすい点も実運用で重宝します。
sendfile でカーネル内転送も使う。静的ファイルの配信が速く、大量同時接続に強く、振り分け・TLS 終端をまとめて担えます。反面、動的処理(PHP やアプリのロジック)は単体ではできないため、背後に PHP-FPM や各言語のアプリサーバーを別途置く構成が前提です。正規表現を多用した複雑な書き換えは Apache の .htaccess ほど手軽ではなく、設定はメインファイルで集中管理する流儀です。
| 観点 | Nginx | Apache |
|---|---|---|
| 処理モデル | イベント駆動・非同期 | プロセス/スレッド(prefork/worker) |
| 同時接続 | 多数でも軽い | prefork はメモリを食いやすい |
| 役割 | 配信・振り分け・TLS 終端に特化 | 動的処理まで一体で抱える |
| 設定 | 集中管理・宣言的 | .htaccess でディレクトリ単位も可 |
| 典型構成 | 前段(リバースプロキシ) | アプリ実行(PHP 等) |
大量アクセスを捌く前段は Nginx、アプリ実行は後段、という役割分担が基本です。両者を組み合わせ「Nginx で受けて Apache/アプリへ流す」構成も定番です。
オープンソース(2-clause BSD)で、商用版の Nginx Plus や、後継として高機能化した Angie、設定言語を拡張する OpenResty(Lua) などの派生・周辺もあります。Kubernetes で広く使われた community ingress-nginx は Nginx 本体とは別プロジェクトで、2026 年 3 月に退役し、以後は更新もセキュリティ修正も提供されません。既存利用者は Gateway API または保守中の別コントローラへ移行する必要があります。
設定変更は反映前に nginx -t で構文確認してからリロードするのが鉄則です。背後アプリの健全性チェック(ヘルスチェック)や、タイムアウト・バッファサイズの調整を怠ると、後段の不調が前段で滞留しがちなので、アップストリームの監視と上限設定を併せて行います。
総じて Nginx は、高い同時接続性能と前段機能の集約を軽量に実現する定番で、現代の Web/API 基盤の入口として広く選ばれています。
実装・運用の視点
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
静的配信・リバースプロキシ
GitHub Stars: 30.7K / Forks: 8.0K / 公開から: 約22年
リバースプロキシ / LB / SSL 終端
動的処理はアプリサーバが別途必要
向いている用途