Web サーバー「Apache」「nginx」「H2O」の特徴を比較

サーバー構築

Web サイトの公開にはWebサーバーが必須となります。
今回は、その中でもシェアの高い3種類の特徴を比較しました。

  • Apache
  • nginx
  • H2O

昔から使われていてメジャーなのは「Apache」ですが、
今から新しく Web サーバーを学ぶ場合には「nginx」もしくは「H2O」をオススメします。

「Apache」は安定を重視する人にオススメ

Apache(アパッチ)は、他の2つと比べて歴史の長いWebサーバーです。

Webサーバーとしての機能が豊富に揃っているのが特徴です。
Apache 単体で PHP を動作させたり、ある程度のアクセス制限も標準で対応しています。

さらに、「モジュール」を使って機能を拡張することができるため、
世界中の開発者が Apache 向けの様々なモジュールを開発・公開しています。

昔から使われているため、ノウハウや運用実績が豊富な点もApacheを利用するメリットです。
ドキュメントも日本語を含めて整備されており、学習しやすい環境が整っています。

高機能な反面で処理性能があまり高くなく、近年は nginx にシェアを奪われつつあります。

Apacheでパスワード制限を掛ける方法

「nginx」は大量アクセスに強い

nginx(エンジンエックス)は、大量アクセスに強いサーバーです。

nginx は同時アクセス数や処理性能を意識しており、非常にシンプルな構成となっています。
Web 以外にも対応しており、幅広い用途で活用されているサーバーです。

Web サーバーとして利用されるときは、リバースプロキシ(中継用のWebサーバー)や大規模サイトのコンテンツ配信などに採用されています。

作りがシンプルな反面、PHPなどを動かす場合には追加の設定が必要となります。
このあたりは「Apache」と設計思想が異なる点であるといえます。

nginx はシェアが高く、関連情報が豊富に揃っています。
これからWebサーバーを建てる場合にオススメなのが「nginx」です。

nginx のインストール手順 (CentOS)
nginx のインストール手順 (Fedora)
nginx のインストール手順 (Ubuntu)

「H2O」は最新技術を試したい人にオススメ

H2O(エイチツーオー)は、最新の Web 技術を搭載した Web サーバーです。
日本人デベロッパーの「奥一穂さん」が開発しています。

HTTP/2 などの最新規格に対応しており、非常に高速な動作を実現しているのが特徴です。

H2O は初期状態でも、チューニングを施した nginx と同等の性能が出ると言われています。
高速な Web サイトを構築したい場合には、ぜひ検討することをオススメします。

mruby と呼ばれるスクリプト言語に対応しているためプログラムが組めます。
複雑なアクセス制御や認証方式の実装など、様々な拡張機能を自由に作成できます。

機能面ではまだまだ揃っていない部分が多いですが、今後に期待のWebサーバーが「H2O」です。

H2O のインストール手順 (CentOS)

まとめ

Webサーバーとして広く使われている3種類について紹介しました。

  • Apache : 歴史が長く、安定して利用できるWebサーバーです。
  • nginx : 大量アクセスに最適化されており、大規模サイトにもオススメです。
  • H2O : 最新技術にもすぐ対応しており、高速な処理が期待できます。

【関連記事】

初心者は VPS でサーバー構築がおすすめ
Windows で Web サーバーを構築する方法