- Welcome! - The Apache HTTP Server Project
http://httpd.apache.org/ - Apacheのコンテンツ圧縮方法
http://fumika.jp/nikki/2004/09/mod_deflate.html - @IT:プログラムをi686に最適化するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/642opt686.html
あ、2.0.51 が出てる、入れ替えなきゃ…とか思ってるうちにまた新しいバージョンが出たのでこれを機に入れ替え(それでも微妙に遅いという話もある)。
基本的には、前に Apache 2.0.50 のRPM ファイルを作って入れ替え でやった方法をそのまま踏襲。
2.0.52 に含まれるhttpd.spec では、必要なパッケージの中でdb4-devel がデフォルトになってるので、ここの部分の書き換えが不要になりました。あと、PHP コンパイル対策として、httpd.spec の240行目あたりを以下のように、2行コメントアウトして後ろの方に移動(太字部分が変更点)。
# Remove unpackaged files
rm -rf $RPM_BUILD_ROOT%{_libdir}/libapr{,util}.{a,la} \
$RPM_BUILD_ROOT%{_libdir}/APRVARS $RPM_BUILD_ROOT%{_libdir}/*.exp \
$RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.exp \
$RPM_BUILD_ROOT%{contentdir}/htdocs/* \
$RPM_BUILD_ROOT%{contentdir}/cgi-bin/*
# $RPM_BUILD_ROOT%{_bindir}/ap?-config \
# $RPM_BUILD_ROOT%{_sbindir}/{checkgid,dbmmanage,envvars*} \
お次は、325行目あたりに以下の2行を追加(太字部分が追加点)。
%{_libdir}/libapr-0.so.*
%{_libdir}/libaprutil-0.so.*
%{_bindir}/ap?-config
%{_sbindir}/envvars
あと、オプションをかえたい場合はお好みで。編集が終わったらいつものごとくビルド開始。
今回は"--target i686" というオプションを追加してみた。劇的に性能が向上するわけでもないらしいですが、なんとなく。
# rpmbuild -bp --target i686 /usr/src/redhat/SPECS/httpd.spec # パッチをあてる
# rpmbuild -bc --target i686 /usr/src/redhat/SPECS/httpd.spec # コンパイルを行う
# rpmbuild -bi --target i686 /usr/src/redhat/SPECS/httpd.spec # インストールテスト
# rpmbuild -ba --target i686 /usr/src/redhat/SPECS/httpd.spec # パッケージを作成する
で、あとはお定まりのインストール。
/etc/rc.d/init.d/httpd stop
Apache 本体をインストール。
rpm -Uvh httpd-2.0.52-1.i686.rpm
もともとRPM でApache を入れていた場合、以下のようなメッセージが出るので適当に編集します。
/etc/httpd/conf/httpd.conf created as /etc/httpd/conf/httpd.conf.rpmnew
今回、mod_deflate を使って、いわゆるgzip 圧縮転送を仕込んでみました。転送量を気にするほどのアクセスもないわけですが、なんとなく。
httpd.conf とかの編集が終わったら、Apache を起動します。
/etc/rc.d/init.d/httpd start
無事入れ替え完了。お疲れ様でした。
(2004/10/04 22:48 追記)
Web-Sniffer を使うとHTTP レスポンスヘッダなども見られますので、gzip 圧縮がちゃんとかかっているかとか確認できます。自分が管理するのでないサーバに対してこれを使うのはちょっと黒っぽい行為かもしれません。
- View HTTP Request and Response Header
http://web-sniffer.net/
ついでに分かったのですが、"X-Powered-By:" というフィールドでPHP のバージョンが丸見えになってしまっていたので、"/etc/php.ini" の中のexpose_php = On" を"expose_php = Off" に変更しました。