インフラ 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用語: ロードバランサーとは|複数サーバーへのトラフィック分散の仕組み
アクセスを複数のサーバーに振り分けて可用性とスケーラビリティを高めるロードバランサーの仕組みと種類を解説。
詳しく読む
IT用語: NFS(ネットワークファイルシステム)とは|ネットワーク越しの共有ストレージ
複数のLinuxサーバーからネットワーク越しに同じディレクトリをマウントできるNFSの仕組みとAWS EFSを解説。
詳しく読む
仮想化 (Virtualization)
1台の物理的なコンピュータの中に、ソフトウェアの力で「複数の架空のコンピュータ(仮想マシン)」を作り出す技術。
詳しく読む
IT用語: 踏み台サーバー(Bastionホスト)とは|プライベートサーバーへの安全な入口
インターネットからプライベートネットワーク内のサーバーに安全にSSHアクセスするための踏み台サーバーの仕組みを解説。
詳しく読む
コンテナ (Container)
OSの上に、アプリを動かすための専用の「カゴ(隔離空間)」を作り、どこでも同じように動かせるようにする技術。
詳しく読む
IT用語: 災害復旧(DR)とは|大規模障害からシステムを復旧させる戦略
地震・データセンター障害などの大規模障害からビジネスを継続するDR(ディザスタリカバリ)戦略と4つのパターンを解説。
詳しく読む