NGINXを学ぶ
概要
NGINX (エンジンエックス) とは
ロシアの人が開発したWebサーバー兼リバースプロキシサーバーのソフトウェア
シェア
「Nginx」と「Apache」がともに33.8%を占め、わずかな差でNginxが首位、Apacheが2位となった。
なお、Nginxは現在、主にApacheとIISからシェアを奪う一方、Cloudflare ServerとLiteSpeedにシェアを奪われている。
Nginxの特徴
C10K問題 (クライアント1万台(接続)問題) を解決する
Apache HTTP ServerなどのWebサーバソフトウェアとクライアントの通信において、クライアントが約1万台に達すると、Webサーバーのハードウェア性能に余裕があるにも関わらず、レスポンス性能が大きく下がる問題である。
静的コンテンツを配信する
Webサーバーとして、Webブラウザからの要求に応答して、静的コンテンツ (あらかじめ準備されたHTMLや画像など) を送信する
Webアプリケーションサーバーと連携する
Webアプリケーションサーバーから取得したコンテンツをキャッシュできる
ロードバランサ (負荷分散装置) としての機能を持つ
複数用意したWebアプリケーションサーバーに、要求を振り分けて負荷を分散できる
リバースプロキシとしての機能を持つ
外部から内部への接続を中継することで、直接アクセスを禁止できたり、キャッシュを利用して高速にコンテンツを配信できたりする
モジュールを組み合わせて利用できる