*.htmlを*.html.gzに圧縮しても*.htmlのままでアクセスできるようにしてディスク容量を節約する
Webサーバのコンテンツ(html)が増えすぎて、ディスク容量が心細くなってきたんだけど、なんかいい方法ない?という相談をもらったので。
例えばApache2なら、次のような方法がある。
- gzipコマンドでhtmlファイルを全て圧縮してしまう。ファイル名は自動的に*.html.gzになる。内容にもよるが、これでディスク使用量は5~8割くらい削減できる。
- httpd.confに細工する。
- 該当のディレクトリ配下でMultiViewsをオンにする。具体的には「Options MultiViews」 デフォルトではたいていもうこうなってる。
- <IfModule mime_module>で「AddEncoding x-gzip .gz .tgz」がコメントアウトになっていたらそれをはずす
<Files *.html.gz> ForceType text/html </Files>
を追加して、apache再起動。
- ブラウザでふつうに http://example.com/hoge.html とアクセスする。hoge.html.gzの内容が展開されて普通に見れる。
別にそう珍しい手法ではないと思うのだが、実は意外と知られていないのか?と思った。
もちろん、ディスク容量を圧迫するほどのhtmlファイル数ってどんな量だ(笑)という話もある。 管理作業用のサーバでanalogだかwebalizerだかのアクセスログ解析結果のhtmlが日毎に蓄積され続けていて、気がついたらすごい量になっていてさあ大変、ということらしい。 お客様向けのマシンであればディスク追加なりなんなりですぐさま対応するし、そもそもいまどきそんな小さなハードディスクじゃない、しかし、大したアクセス数もない社内管理用の古くてしょぼいサーバでの話なので、予算をかけずにセッティングだけでどうにか切り抜けたかった、と。なるほど。

コメントする
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)