Nginxとは
Nginxとは、OSSの高速Webサーバーソフトウェアです。BSDライセンスでリリースされています。Nginxは、大容量のデータ配信や大量同時接続に耐えることを目的に設計されています。また、Webサーバとしてだけでなく、リバースプロキシやロードバランサとしても利用できます。Nginxは、Webサーバの代表格であるApacheの問題点を解決していることで、急速に導入が進んでいるWebサーバです。
Nginxの特徴
Nginxの特徴は以下です。
- 軽量で高速なWebサーバである
- リバースプロキシ・ロードバランサとしても動作する
- 静的コンテンツの配信に適している
軽量で高速なwebサーバ
Nginxは大量の同時リクエストを処理することを前提に開発されたWebサーバーです。Webサーバの代表格といえばApacheですが、Apacheには大量同時接続時にサーバがパンクするという問題があります。これを「C10K問題」といいます。
C10K問題
C10K問題(クライアント1万台問題)は、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のことです。Apacheの採用している設計方式だと約10,000台の同時接続には耐えることができません。
Nginxはこの問題を解決するためにApacheとは異なる設計方式を採用しています。Apacheはプロセス駆動型を採用していますが、Nginxはイベント駆動型の設計方式が採用されています。イベント駆動型の設計方法を採用することで、メモリなどのリソースを節約でき、結果として大量のリクエストにも耐えることができる軽量で高速なWebサーバーになっています。
リバースプロキシ・ロードバランサとしても動作する
Nginxは、リバースプロキシとして利用することができます。Nginxが静的コンテンツをキャッシュしておくことで、バックエンドのWebサーバやアプリケーションサーバの負荷を減らすことに繋がります。
また、ロードバランサとしても機能するため、大量アクセスの負荷分散をさせることもできます。
静的コンテンツの配信に適している
Nginxは、静的コンテンツを高速に配信するように設計されています。Nginxで動的コンテンツを配信する場合には、Nginxをリバースプロキシとして利用します。そして、バックエンドにアプリケーションサーバを配置することで、動的なコンテンツの配信を行うこともできます。
Nginxの有効な利用方法
Nginxを利用することで、比較的手軽にロードバランシングを行うことができます。ロードバランシングをする負荷分散装置は高価であり、導入を躊躇するということが多くあります。Nginxをロードバランサとして利用し、リクエストをバックエンドのWebサーバに割り振ることで、比較的手軽にロードバランサを実装することができます。また、Nginxをフロントに立てておくことで、大量の同時接続にも耐えることができる安全なWebサーバを構築できます。
【カテゴリ】:インターネット  オープンソースソフトウェア  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |