仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 549|回复: 7
打印 上一主题 下一主题

[其他Linux] 带来一篇Apache启用GZIP紧缩网页传输办法

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 13:44:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。
起首我们先懂得ApacheGzip的相干材料。
1、gzip先容
Gzip是一种盛行的文件紧缩算法,如今的使用非常普遍,特别是在Linux平台。当使用Gzip紧缩到一个纯文本文件时,效果长短常分明的,约莫能够削减70%以上的文件巨细。这取决于文件中的内容。使用Apache中的Gzip模块,我们可使用Gzip紧缩算法来对Apache服务器公布的网页内容举行紧缩后再传输到客户端扫瞄器。如许经由紧缩后实践上下降了收集传输的字节数,最分明的优点就是能够加速网页加载的速率。
网页加载速率加速的优点不问可知,除节俭流量,改良用户的扫瞄体验外,另外一个潜伏的优点是Gzip与搜刮引擎的抓取工具有着更好的干系。
2、Web服务器处置
HTTP紧缩的历程以下:
Web服务器吸收到扫瞄器的HTTP哀求后,反省扫瞄器是不是撑持HTTP紧缩(Accept-Encoding信息);
假如扫瞄器撑持HTTP紧缩,Web服务器反省哀求文件的后缀名;
假如哀求文件是HTML、CSS等静态文件,Web服务器到紧缩缓冲目次中反省是不是已存在哀求文件的最新紧缩文件;
假如哀求文件的紧缩文件不存在,Web服务器向扫瞄器前往未紧缩的哀求文件,并在紧缩缓冲目次中寄存哀求文件的紧缩文件;
假如哀求文件的最新紧缩文件已存在,则间接前往哀求文件的紧缩文件;
假如哀求文件是静态文件,Web服务器静态紧缩内容并前往扫瞄器,紧缩内容不寄存到紧缩缓存目次中。
3、开启Gzip
Apache使用Gzip紧缩算法举行紧缩的模块有两种:mod_gzip和mod_deflate。
如今扫瞄器自己也主动Gzip紧缩功效,撑持Accept-Encoding:gzip,deflate,这里我在firefox扫瞄器下测试。
经由过程检察HTTP头,我们能够疾速判别利用的客户端扫瞄器是不是撑持承受gzip紧缩。
若发送的HTTP头中呈现以下信息,则标明你的扫瞄器撑持承受响应的gzip紧缩:
Accept-Encoding:gzip撑持mod_gzip
Accept-Encoding:deflate撑持mod_deflate
Accept-Encoding:gzip,deflate
同时撑持mod_gzip和mod_deflateApache内置有mod_deflate模块来启用gzip功效,但假设安装apache的时分没有编译相干模块,就必要你手动安装一次,以启用它:
起首到你的apache源码目次,查找到mod_deflate.c文件,一般地位:apachehttpd源码目次/modules/filters/mod_deflate.c,进进下面找到的目次运转上面的命令:
/usr/local/apache2/bin/apxs-i-c-amod_deflate.c
注:apxs目次请参照您本人的呆板,一般在apache安装目次的bin目次下。
安装完成,到apache的modules目次看看是否是有了mod_deflates.so,httpd.conf中翻开deflate_Module和headers_Module模块:
LoadModuledeflate_modulemodules/mod_deflate.so
加载mod_deflate.so模块,默许安装会主动写进httpd.conf。
假如服务器开启了对Gzip组件的撑持,那末我们就能够在http.conf定制文件紧缩,上面是一个设置的复杂实例:

1、mod_gzip体例

.代码以下:

#mod_gzip
<ifModulemod_gzip.c>
mod_gzip_onYes
mod_gzip_dechunkYes
mod_gzip_item_includefile.(html?|txt|css|js|php|pl)$
mod_gzip_item_includehandler^cgi-script$
mod_gzip_item_includemime^text/.*
mod_gzip_item_includemime^application/x-javascript.*
mod_gzip_item_excluderspheader^Content-Encoding:.*gzip.*
<ifModule>



2、deflate_Module体例
(1)严厉婚配文件范例

.代码以下:

#mod_deflate:
<ifmodulemod_deflate.c>
DeflateCompressionLevel6#紧缩率,6是倡议值.
AddOutputFilterByTypeDEFLATEtext/plain
AddOutputFilterByTypeDEFLATEtext/html
AddOutputFilterByTypeDEFLATEtext/php
AddOutputFilterByTypeDEFLATEtext/xml
AddOutputFilterByTypeDEFLATEtext/css
AddOutputFilterByTypeDEFLATEtext/javascript
AddOutputFilterByTypeDEFLATEapplication/xhtml+xml
AddOutputFilterByTypeDEFLATEapplication/xml
AddOutputFilterByTypeDEFLATEapplication/rss+xml
AddOutputFilterByTypeDEFLATEapplication/atom_xml
AddOutputFilterByTypeDEFLATEapplication/x-javascript
AddOutputFilterByTypeDEFLATEapplication/x-httpd-php
AddOutputFilterByTypeDEFLATEimage/svg+xml
AddOutputFilterByTypeDEFLATEimage/gifimage/pngimage/jpeimage/swfimage/jpegimage/bmp
#Dontcompressimagesandother#扫除不必要紧缩的文件
BrowserMatch^Mozilla/4gzip-only-text/html
BrowserMatch^Mozilla/4.0[678]no-gzip
BrowserMatchMSIE!no-gzip!gzip-only-text/html
SetEnvIfNoCaseRequest_URI.(?:html|htm)$no-gzipdont-varySetEnvIfNoCase
#SetEnvIfNoCaseRequest_URI.(?:gif|jpe?g|png)$no-gzipdont-vary
SetEnvIfNoCaseRequest_URI.(?:exe|t?gz|zip|bz2|sit|rar)$no-gzipdont-vary
SetEnvIfNoCaseRequest_URI.(?:pdf|doc)$no-gzipdont-vary
</ifmodule>



(2)过滤文件范例

.代码以下:

#mod_deflate:
<ifmodulemod_deflate.c>
DeflateCompressionLevel6
SetOutputFilterDEFLATE#紧缩一切文件
#Dontcompressimagesandother#过滤不必要紧缩文件
#SetEnvIfNoCaseRequest_URI.(?:gif|jpe?g|png)$no-gzipdont-vary
SetEnvIfNoCaseRequest_URI.(?:html|htm)$no-gzipdont-vary
SetEnvIfNoCaseRequest_URI.(?:exe|t?gz|zip|bz2|sit|rar)$no-gzipdont-vary
SetEnvIfNoCaseRequest_URI.(?:pdf|doc)$no-gzipdont-vary
</IfModule>




文件MIME范例能够依据本人情形增加,也能够经由过程扫瞄器检察connect-type:


4、mod_gzip和mod_deflate的次要区分是甚么?(来自互联网)
起首一个区分是安装它们的ApacheWeb服务器版本的差别。Apache1.x系列没有内建网页紧缩手艺,以是才往用分外的第三方mod_gzip模块来实行紧缩。而Apache2.x官方在开辟的时分,就把网页紧缩思索出来,内建了mod_deflate这个模块,用以代替mod_gzip。固然二者都是利用的Gzip紧缩算法,它们的运作道理是相似的。第二个区分是紧缩质量。mod_deflate紧缩速率略快而mod_gzip的紧缩比略高。一样平常默许情形下,mod_gzip会比mod_deflate多出4%~6%的紧缩量。那末,为何利用mod_deflate?第三个区分是对服务器资本的占用。一样平常来讲mod_gzip对服务器CPU的占用要高一些。mod_deflate是专门为确保服务器的功能而利用的一个紧缩模块,mod_deflate必要较少的资本来紧缩文件。这意味着在高流量的服务器,利用mod_deflate大概会比mod_gzip加载速率更快。
5、效果
没有启动Gzip紧缩:

启动Gzip紧缩:

巨细由10.7K到1.5K,假如文件较年夜,那末效果会更分明。

文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
不帅 该用户已被删除
沙发
发表于 2015-1-18 10:49:48 | 只看该作者
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
活着的死人 该用户已被删除
板凳
发表于 2015-2-1 17:19:42 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-7 13:33:18 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-22 11:44:28 | 只看该作者
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
第二个灵魂 该用户已被删除
6#
发表于 2015-3-7 00:34:33 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
蒙在股里 该用户已被删除
7#
发表于 2015-3-14 00:44:46 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
海妖 该用户已被删除
8#
 楼主| 发表于 2015-3-20 23:58:43 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-3-11 06:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表