Apache 2.2系とApache2.4系の違い
先ほど書いた、Apache2.4.3のインストール記事で書いた、Apache2.2系からApache2.4系になった際の違いです。span.related{color:#ffffff;background-color:#003399;font-weight:bold;padding:0.2em 0.2em 0.1em 0.3em;}ul.related{margin:0;padding:0.2em 0.1em 0.2em 0.2em;background-color:#eeeeee;border-color:#003399;border-width:1px;border-style:dotted;}ul.related br{display:none;}ul.related li{padding:0em 0.1em 0.4em 0em;list-style-image: url(http://emoji.ameba.jp/img/user/ta/taro0603/198353.gif);list-style-position:inside;}前の記事CentOS 6.3にApache 2.4.3をインストールApacheのページに記載がありましたが、英語なので日本語訳しておきます。ついでにわかりにくい部分に補足説明を記載してみました。●Run-time Loadable MPMs Multiple MPMs can now be built as loadable modules at compile time. The MPM of choice can be configured at run time.●実行時にロード可能なMPM 複数のMPMをコンパイル時にロード可能なモジュールとしてビルドできます。 選択したMPMを実行時に設定できます。※MPM (Multi Processing Module)とは?Apache2.0系から採用されたリクエストの処理方法をモジュール化したもの。./configureの際に --with-mpm= NAME で選択できる。デフォルトはUnixであればprefork。preforkはApache1.3系と同様にスレッドを使わずにリクエストを処理する。workerはマルチスレッドとマルチプロセスのハイブリッド型で少ないリソースで多くのリクエストに応答できる。http://httpd.apache.org/docs/2.0/ja/mod/worker.htmlhttp://httpd.apache.org/docs/2.0/ja/mod/prefork.html●Event MPM The Event MPM is no longer experimental but is now fully supported.●イベントMPM イベントMPMはもはや実験ではなく、完全サポートされています。イベントMPMはworker MPMと同様にマルチスレッドとマルチプロセスのハイブリッド型のMPMだが、Keep Aliveリクエストの処理に別スレッドを利用します。これにより、worker MPMの欠点であった、keep-alive受け入れ時にクライアントにスレッドを占有される問題が解消されます。●Asynchronous support Better support for asynchronous read/write for supporting MPMs and platforms.●非同期サポート MPMとプラットフォームをサポートするための非同期の読み書きのサポートを改善しました。●Per-module and per-directory LogLevel configuration The LogLevel can now be configured per module and per directory. New levels trace1 to trace8 have been added above the debug log level.●モジュール単位、ディレクトリ単位のログレベルの設定 ログレベルは現在ではモジュール単位やディレクトリ単位で設定できます。●Per-request configuration sections <If>, <ElseIf>, and <Else> sections can be used to set the configuration based on per-request criteria.●要求単位の設定セクション <If>, <ElseIf>, <Else>セクションを、 要求ごとの判定に基づいた設定をするために使用できます。●General-purpose expression parser A new expression parser allows to specify complex conditions using a common syntax in directives like SetEnvIfExpr, RewriteCond, Header, <If>, and others. ●汎用表現パーサー新しい表現パーサーでは、SetEnvIfExpr、RewriteCond、ヘッダー、<If>などのようなディレクティブで共通の構文を使用して複雑な条件を指定できます。●KeepAliveTimeout in milliseconds It is now possible to specify KeepAliveTimeout in milliseconds. ●ミリ秒単位でのKeepAliveTimeout KeepAliveのタイムアウト時間をミリ秒単位で指定できるようになりました。●NameVirtualHost directive No longer needed and is now deprecated.●NameVirtualHostディレクティブ 不要になった今では廃止されています。●Override Configuration The new AllowOverrideList directive allows more fine grained control which directives are allowed in .htaccess files. ●設定のオーバーライド 新しいAllowOverrideListディレクティブにより、 .htaccessファイルで許可されているディレクティブをより細かく制御できます。●Config file variables It is now possible to Define variables in the configuration, allowing a clearer representation if the same value is used at many places in the configuration. ●設定ファイルの変数 設定ファイル内で変数を定義することが可能になりました。 これにより、同じ値が多くの個所で使用されている場合より明確な表現が可能になりました。●Reduced memory usage Despite many new features, 2.4.x tends to use less memory than 2.2.x.●メモリ使用量の削減 多くの新機能にもかかわらず、2.4.xは2.2.xよりもメモリー使用量が少ない傾向にあります。引用)http://httpd.apache.org/docs/2.4/new_features_2_4.htmlということで、最大の違いはイベントMPMが使えるようになったんですね。実は2.4系には結構重要なバグがあって、この後ちょっと悩まされることになりました。次回の記事で明らかにしたいと思います。関連記事CentOS 6.3にApache 2.4.3をインストールインストールしたApache2.4.3にセキュリティー上の設定を加えるApache2.4.3でバーチャルホストの設定にハマる