NginxとApache HTTP Serverを比較

    「Nginx」と「Apache HTTP Server」の概要

    「Nginx」と「Apache HTTP Server」は、Webサーバ機能を提供するソフトウェアです。

    ■「Nginx」とは

    Nginxは「処理性能」「並行処理」「メモリ使用量削減」にフォーカスして開発されているWebサーバ/リバースプロキシです。

    Nginxは「HTTPサーバ」「リバースプロキシサーバ」「メールプロキシサーバ」「汎用TCP/UDPプロキシサーバ」などの機能を持ちます。高性能かつスケーラブルであり、安全で信頼性の高い各種サーバ機能を提供します。

    ■「Apache HTTP Server」とは

    Apache HTTP Serverは、世界で最も広く使われているWebサーバソフトウェアです。

    機能拡張しやすく、さまざまな追加モジュールが開発されているため、それぞれの状況に合わせて、段階的かつ柔軟に機能拡張できます。

    駆動方式比較

    ■Nginx

    Nginxは「シングルスレッドモデルのイベント駆動アーキテクチャ」を採用しています。

    イベントループ方式(シングルスレッドでループ処理を実行しキューに溜まったイベントを順に処理する方式)により、少量プロセスで大量リクエストを処理できます。

    この仕組みにより、ハードウェアやネットワーク性能に問題がなくても、同時クライアント接続数がある一定数を超えるとサーバの処理能力が急激に減少してしまう「C10K問題」を解決しています。

    ■Apache HTTP Server

    Apache HTTP Serverは「マルチプロセスのプロセス駆動アーキテクチャ」を採用しています。

    各リクエストをプロセスに割り当てて処理を行うため、リクエストが大量に来た場合には、プロセス同時起動によるオーバーヘッドが非常に大きくなるデメリットがあります。

    ユースケース比較

    ■Nginx

    Nginxは次のようなケースに向いています。
    ・静的ページに対する同時多数アクセス
    ・高負荷環境
    ・スケーラビリティが要求される環境
    ・ロードバランサー用途
    ・マイクロサービス構築
    ・並行的Webサービス提供
    ・クラウド構成 など

    ■Apache HTTP Server

    Apache HTTP Serverは次のようなケースに向いています。
    ・低負荷環境
    ・同時アクセス数が少ない環境
    ・単純リクエスト数が多い環境 など

     

    参考元サイト

    「Nginx」基本情報

    ■概要

    Nginx(エンジンエックス)とは、処理性能/並行処理/メモリ使用量削減にフォーカスして開発されているWebサーバ/リバースプロキシです。ロードバランサーやHTTPキャッシュのなどの機能も備えています。

    ■基本説明

    Nginxは、「HTTPサーバ」「リバースプロキシサーバ」「メールプロキシサーバ」「汎用TCP / UDPプロキシサーバ」などの機能を持ちます。

    Nginxは、HTTP接続とトラフィックを管理するための主要なWebアクセラレーション手法をすべて可能にしています。「静的コンテンツ高速配信」「能力負荷分散」「SSLターミネーション」「接続要求ポリシング」「静的コンテンツのオフロード」「コンテンツキャッシング」などの機能により、高性能かつスケーラブルであり、安全で信頼性の高い各種サーバ機能を提供します。

    ■経緯

    ・2004年:初版リリース

    ■ユースケース

    Nginxは、当初ロシアのサイトを中心として導入され、高い処理能力などの理由により急速にシェアを拡大しており、1日に数億リクエストを処理するような大規模サイトを中心に導入されています。

    2018年のDockerの使用状況に関する調査によると、NginxはDockerコンテナで最も一般的に導入された技術になっています。

    ■オフィシャルサイト情報

    オフィシャルサイト

    →Nginx(nginx.org)

    ライセンス情報

    Nginxのライセンスは「BSDライクライセンス」です。

    詳細について、こちらを参照ください。
    →Nginx →LICENSE

    動作環境

    Nginxは以下のOSをサポートしています。

    ・Linux
    ・FreeBSD
    ・Solaris
    ・AIX
    ・HP-UX
    ・Windows
    ・macOS など

    ダウンロード

    →Nginx →nginx: download

    ■同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「Apache HTTP Server」など。


    基本情報

    概要

    Apache HTTP Server(アパッチ エイチテーテーピーサーバ)は、世界で最も広く使われているWebサーバソフトウェアとなっています。

    Webサーバソフトウェアとは、HTTP規則に従い、クライアントソフトウェアであるWebブラウザに対して、HTML情報や、画像や動画などのオブジェクト情報の表示を提供するサービスプログラムのことを指します。

    巨大規模な商用サイトから、個人で使用するレベルの自宅用個人サーバまで、各種状況に応じた汎用性を発揮できる点が最大の魅力であり特徴です。

    Apacheソフトウェア財団のApache HTTPサーバプロジェクトとして開発が行われています。Apacheシリーズの代表的なオープンソースソフトウェアとなっています。

    世界でのシェアが非常に高いのが特徴で、そのため、技術者数も多く存在している点が安心できるポイントになっています。

    機能拡張しやすい設計になっており、さまざまな追加モジュールが開発されているため、機能拡張時の選択肢も豊富で、それぞれの状況に合わせて、段階的に、柔軟に機能拡張していくこともできます。他のWebサーバからの移行も、やりやすくなっています。そのため、まず、最初は、小規模単純機能だけのWebサーバを構築して、次第に、大規模高機能サーバに拡張していくということも可能です。この、順次拡張していくことができるという点も、安心できるポイントになっています。

    TOPに戻る

    こんなお客様にオススメ

    次のようなお客様に、Apache HTTP Serverの導入をオススメします。
    ・信頼性と可用性の高いWebサーバソフトウェアを導入したい
    ・サービス規模と機能を、段階的に拡張させていきたい
    ・まずは、小規模Webサーバで、試験的に実験運用をしてみたい
    ・安定的に技術者を確保して、継続的に補充、補強していきたい
    ・機能拡張の選択肢が多く、独自サービス開発に利用しやすいものを選びたい

    TOPに戻る