なんちゃってウェブ系エンジニアの備忘録

某IT企業で働くなんちゃってウェブ系エンジニアが技術やデザインなど役に立ちそうなものなどを備忘録として載せていきます

Nginxってどんなモノなのか調べてみた

WebサーバといえばApacheだったのですが、最近ではNginxが注目されつつありますね。
2013年12月現時点でのWebサーバシェアによると、

Active Sites(稼動サイトの箇所)
December 2013 Web Server Survey | Netcraft

f:id:owen11:20131209175642p:plain

サーバ シェア率
Apache 53.96%
Ngnix 13.32%
Microsoft 11.26%
Google 8.42%

Nginxのシェアが6、7年前から伸ばし続け、そして2013年12月Microsoft IISを抜いて
サーバシェア2位になったそうです。

今まさにWebサーバの勢力図が塗り替わろうとしているんです!
それにしても、Microsoft IISが2009年あたりから、かなりシェアが落ち込んでいますね。
GoogleやNginxといった新たなWebサーバソフトが登場してきたのが原因だろうか・・・

それはさておき、仕事上Apacheを使う私にとっては「Nginx」は、馴染みがない
言葉でしたので自己学習を兼ねてちょっと調べてみました。

Nginxとは

f:id:owen11:20131209175643p:plain
Webサーバソフトの1つであり、エンジンエックスと呼ぶ。
もともと、C10K問題に対応するためのサーバとして生まれたそうです。
C10K問題とは「クライアント1万台」の意味で、サーバのハードウェア性能がよくても、
プロセス数の最大は変わらないという。
クライアントの台数が多くなるとサーバがパンクしてしまうってこと。

それを解消するために、ロシア出身のエンジニアIgor Sysoev氏という人が
「Nginx」を開発したという。
ロシアで開発されたため、ロシア国内のWebサーバのシェアがほぼ「Nginx」で
独占しているそうです。

ロシアに限らず、日本やアメリカでも

などなど、多くの有名サービスがWebサーバとしてNginxが採用されており、
まさに注目を集めつつあります。

Nginxの特徴

Nginxは処理が軽く、大量のリクエストに耐えられ、リバースプロキシ、静的コンテンツの配信、ロードバランサーなどの用途に向いています。
静的コンテンツではApacheと比べるとNginxが優れています。
一方、PHPを動作させたい場合はpfp-fpmが必要など動的コンテンツはあまり向いていないと思われる。

  • Apache
    • → 動的コンテンツを処理
  • Nginx
    • → 静的コンテンツを処理

静的コンテンツをNginxが受け持ち、PHPなどの動的コンテンツはApacheに渡す形というこうした構成が今後増えていくのではないかと思われる。
ロードバランサーとしてNginxを使うのもアリですね。

今まではオーソドックスなApacheを使っていましたが、今後システムを構築する際、「Nginx」を選択肢の一つとして入れる価値はあると思っております。

Nginxの概要や仕組みは理解できたので、機会があればインストールして機能や設定など色々弄って、Nginxに対する理解度をさらに深めていけたらと考えております。