ApacheとNginx、結局どっちがいいの?

サーバー
スポンサーリンク
スポンサーリンク

Apache?Nginxって何?

Apache、Nginxとは、Webコンテンツをクライアント(Webページを見たい人)に提供するためのソフトウェアのことです。

今あなたが見ているこのサイトや、Appleのサイト、楽天のサイト、Zoomのサイト、MicrosoftのサイトはApache、Nginxから提供されています。

もちろんApache、Nginx以外にもIISやLiteSpeedなどのソフトウェアもあります。

今回はそんな様々なWebソフトウェアの代表格であるApacheとNginxについて話していこうと思います。

ApacheとNginxの違い

Apacheの特徴

  • オープンソースソフトウェア
  • .htaccessが使える
  • 豊富なモジュール
  • PHPやCGIなどの動的コンテンツに柔軟に対応

Nginxの特徴

  • オープンソースソフトウェア
  • リバースプロキシが使える
  • ロードバランサが使える
  • 一度に大量のリクエストに対応できる
  • 設定がApacheと比べて分かりやすい

結論

小規模~大規模という観点で見ていきます。

小規模

小規模なWebサーバー(同時接続数が100以下)であれば、Apacheがよいと思います。

中規模

中規模なWebサーバー(同時接続数が5000以下)であれば、Nginx + Apacheがよいと思います。

大規模

 

 OR

 

大規模なWebサーバー(同時接続数が10000以上)であれば、Nginxか、Nginx + Apacheがよいと思います。

なぜこの結論に至ったのか

Apacheは機能が多く、ディレクトリのアクセス管理がしやすいのでNginxに比べてWebコンテンツを配信するにはApacheのほうが向いています

しかしApacheはNginxに比べて大量の同時接続をすることができません。

これはApacheの駆動方式の問題で、1万台をこえるコンピュータと同時接続すると、レスポンスが著しく低下することが原因です。

これでは中規模、大規模なサイトはまともにWebサイト配信ができないので大量の同時接続に対応できるNginxを使うわけです。

なのでNginxを単体で使う、という考えもOKなのですがちょっと待ってください。

Nginxにはリバースプロキシという機能があり、クライアントとApacheの間の通信を代行してくれます。

これを利用してNginx + Apacheで大量の同時接続かつ、簡単な機能の追加、使用が可能になります

まとめ

Apacheは機能が豊富で、Nginxは処理が高速なので、使いたいWebサイトのアクセス量によって決めるとよいと思います。

個人的にはApache + Nginxの組み合わせが最も良いと思っています。(設定・機材に労力・お金がかかりますが…)

この記事を見ている人は新しくWebサイトを建てようとしている方がほとんどだと思われるので、この記事の事柄を参考にしながらより良いWebサイトを建ててみてください。

それでは、よきネットサーフィンライフを!

コメント

タイトルとURLをコピーしました