Apache 2.0の新機能とその実力
〜Webサーバはどこまで進化するのか〜
一志 達也<ichishi@pochi.tis.co.jp>
TIS株式会社
2001/5/12
Apache 2.0の入手とインストール
公開されたベータバージョンの入手は、別段難しいことではない。http://www.apache.org/またはhttp://httpd.apache.org/にアクセスすれば、容易にベータバージョンの場所が分かるだろう。
もし、それも面倒だというのであれば、以下のリンクをクリックすればダウンロードが始まるはずだ。ただし、Apacheは進歩が速く、こうしている間にも新しいバージョンが公開されるかもしれない。
gzipで圧縮されたファイル:
http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.tar.gz
compressで圧縮されたファイル:
http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.tar.Z
ところで、上記のリンクはLinux/UNIX用に作られたソースファイルとコンパイルに必要なファイルの一式である。ApacheといえばLinuxやUNIXのものというイメージが強いのだから、わざわざ説明するまでもないじゃないか、などと思われたのであれば、それはもはや間違いである。
まだ開発中で最適なパフォーマンスを提供できていない、とされてはいるのだが、少し前からWindows用のApacheが公開されているのだ。Apache 2.0でも今回のベータバージョンからWindows用のファイルが公開されるようになった。以下のリンクをクリックすれば、Windows用のApache 2.0をダウンロードできる。
http://httpd.apache.org/dist/httpd/httpd-2_0_16-beta.zip
それでは、Apache 2.0をインストールしてみよう。インストール手順は従来とあまり変わらないが、「README」や「INSTALL」といったファイルにはひととおり目を通しておくべきだろう。
■autoconfとlibtoolのインストール
先にも少し触れたとおり、Apache 2.0はビルド・システムが一新されたため、インストールのためにautoconfとlibtoolが必要になる。これらは、いずれもGNUのプロダクトだから、GNUのミラーサーバから入手できる。http://www.gnu.org/order/ftp.htmlにアクセスして、最寄のミラーサーバからダウンロードする。
インストールはどちらも簡単で、入手したファイルを解凍したらconfigureしてmake、rootユーザーでmake installするだけである。
■Apache 2.0のconfigureとmake
準備ができたところで、Apache 2.0のconfigureを行おう。基本的にこれまでと変わらないから、以前のバージョンをコンパイルした環境が残っているなら、その「config.status」を参考にするとよいだろう。筆者も、1.3.19をコンパイルしたときのconfig.statusを開き、それを編集して流用することにした。
Apache 2.0で特に違うところがあるとすれば、新しいモジュールとマルチスレッドについてのオプションが用意されていることであろう。モジュールについては、これまで同様「INSTALL」ファイルを参考に、インストールしたいモジュールを選べばよい。
マルチスレッドについては、「--enable-mpm=」に続いて、利用したいマルチスレッドのタイプを記述する。UNIXの場合は以下の3タイプが用意されているほか、WindowsやBeOS用のタイプも用意されている。
- mpmt_pthread
このタイプは、アクセスが集中するとプロセスの数が増えていく。スレッドは、各プロセスごとに決められた数だけ用意される。ちなみに、筆者の環境では、このパラメータだけは、どうしてもうまくインストールできなかった。
- perchild
このタイプは、プロセスの数は固定で、スレッドの数がダイナミックに増えていく。もちろん、スレッドの数は最小値と最大値を設定できる。
- prefork
このタイプは、従来のApacheと同様の動作を行う。つまり、マルチスレッドではない。
無事にconfigureの作業が終了したら、あとはmakeしてインストールするだけだ。慣れた方であれば、ダウンロードから始めても1時間足らずですべて完了するだろう。
■設定の確認と起動
インストール後、ディレクトリの構成を見るとこれも1.3.x系との違いは特に見当たらない。設定に関するファイルも同様だ。もちろん、中身に多少の違いはあるし、マルチスレッド関係のパラメータが増えている。
必要であればこれらのパラメータを調整し、Apache 2.0を起動してみよう。起動の方法も、これまでと変わりなく、「apachectl start」だ。
もしうまく動いていないようならば、logsディレクトリにあるerror_logをチェックしてみよう。
■既存環境からのアップグレード
最後に、既存環境(Apache 1.3など)から、Apache 2.0への移行について触れておこう。
残念なことに、以前のApacheからApache 2.0にマイグレーションを行うようなツールは、いまのところ提供されていない。ただ、先にも触れたとおり、Apache 2.0になってもディレクトリ構成や設定に大きな変更はない。従って、既存の設定を参考に、Apache 2.0を設定することはそれほど難しいことでもないだろう。
また、Apache 2.0とともに配布されているドキュメントを参照すれば、Apache 2.0で変更されたり削除されたディレクティブを知ることもできる。
3/4
|
Index | |
Apache 2.0の新機能とその実力 | |
待ちに待ったベータ版の登場 | |
2.0の新機能概説 コアの変更 マルチスレッドへの対応 マルチプロトコルのサポート IPv6のサポート フィルタリング機能の追加 APIの変更 新しいビルド・システムの採用 |
|
モジュールの変更 | |
Apache 2.0の入手とインストール autoconfとlibtoolのインストール Apache 2.0のconfigureとmake 設定の確認と起動 既存環境からのアップグレード |
|
マルチスレッド・モードの検証
実験開始直後の問題 高負荷状態における2つのApache チューニングはしてみたが |
|
Apache 2.0は大規模サイトで威力を発揮 |
Linux Square全記事インデックス |
Linux Squareフォーラム サーバ構築・運用関連記事 |
連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|