我目前正在运行一个小型网站,用于托pipe大量的(生成的)静态HTML。 问题是磁盘空间有限,而HTML每周增长1GB。 (这些文件被分组到目录中,每个文件大约有500个文件,总共为10B-100MB,文件压缩得很好[低于10%])
理想情况下,我正在寻找一种方法来压缩硬盘上的所有HTML文件,同时仍然可以轻松地为他们服务。
Matt Simmons提到的mod_gunzip似乎并不适用于Apache 2.x. 开发人员提到的replace是使用Apache模块mod_ext_filter 。 我还没有testing,但它看起来应该是非常容易的,build立一个filter,解压缩文件服务。
另一件你应该考虑的是,大多数当前的浏览器接受已经被gzip压缩的内容。 你可能会gzip你的文件,并提供gzip'd文件,而不做任何特别的事情。 这里是一些细节的链接 。
压缩文件系统 – 另一个解决scheme是处理Web服务器和文件下面的压缩 – 在文件系统级别。
我还没有完成自己的工作,但是你可以尝试一下像fusecompress这样的东西 – 如果你已经没有,那么把你的www分离出来,把它做成某种压缩的fs。
很明显,这会使你在一些性能上花费,但是如果处理器是体面的,那么它可能是好的。
你看过mod_gunzip吗? 我太新,不能链接到它,但谷歌search应该指出你在正确的方向。
你可以把所有的页面包装在一个如下所示的脚本中:
bzcat $ 1.bz2
$ 1是请求的文件。 一个快速的PHP / Perl /无论脚本可以非常有效地拉出请求variables的path,你去了。
你确实失去了静态文件的速度,但这对你的用例可能并不重要。
一个答案就是在Windows主机上运行该网站,并简单地压缩NTFS文件系统
另一种select是运行ZFS的OpenSolaris系统
大多数浏览器都理解gzip HTML页面。 一个解决scheme是gzip每个页面,并让您的web服务器添加一个“Content-Encoding:gzip”头到每个响应。
gzip所有的文件,如果使用Apache,使用Options +MultiViews 。