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サイトを建ててみてください。
それでは、よきネットサーフィンライフを!
コメント