定義
Apache(正式名称はApache HTTP Server)は、1995年に初めてリリースされた無料のオープンソースウェブサーバーであり、初期のウェブの発展に貢献し、現在でもほとんどの共有ホスティングプランにデフォルトで搭載されています。静的ファイルを直接配信し、動的なリクエストはmod_phpやPHP-FPMなどのモジュールを通じてPHPや他の言語に渡します。その際、複数のワーカーモデル(prefork、worker、event)のいずれかを使用して同時接続を処理します。Apacheの特徴的な機能は、.htaccessファイルによるディレクトリごとの設定であり、各ホスティングアカウントがグローバルなhttpd.confを変更することなく、URLの書き換えやリダイレクト、アクセスルールを上書きできます。これは、ユーザーがコア設定を編集できない共有サーバーにおいて真の利点となります。NGINXは、イベント駆動型アーキテクチャのおかげで、高トラフィックやリバースプロキシのワークロードにおいてApacheを上回るようになりましたが、一般的な本番環境のスタックでは、NGINXを前段に配置し、Apacheがその背後でアプリケーションロジックを処理する構成が今でも使われています。Apacheのモジュールエコシステム、cPanelとの統合、そして.htaccessサポートにより、共有ホスティングや小規模VPSホスティングにおける実用的なデフォルトであり続けています。
利用方法
Apacheはリクエストごとのワーカーモデル(prefork、worker、eventの各MPM)を使用し、PHP、SSL、URL書き換え、認証などのためのモジュールをロードします。グローバルなhttpd.confに加えて、ディレクトリごとの.htaccessファイルを読み込みます。mod_rewriteは、WordPressのパーマリンクや同様のURL処理を支えるエンジンです。
重要な理由
共有ホスティングやWordPressサイトにとって、Apacheが今なお使われ続けている理由は.htaccessサポートにあります。高トラフィックサイトやリバースプロキシの役割においては、NGINXの方が現在ではより良いデフォルトの選択肢です。一般的な構成としては、NGINXを前段に、Apacheをその背後に配置することで、両方の利点を得ることができます。