当前位置:首页 > 服务器 > 正文

服务器开启gzip(服务器开启telnet服务)

今天给各位分享服务器开启gzip的知识,其中也会对服务器开启telnet服务进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Nginx服务器中的Gzip配置参数详解

gzip on;     开启gzip  off关闭

gzip_min_length 1k;     设置允许压缩的页面最小字节(从header头的Content-Length中获取) 建议大于1k

gzip_buffers 4 16k;     以16k为单位,按照原始数据大小以16k为单位的4倍申请内存

gzip_http_version 1.1;     识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码

gzip_comp_level 2;     等级1-9 最小的压缩最快 但是消耗cpu

gzip_types text/plain application/x-javascript text/css application/xml;     匹配压缩类型

gzip_vary on;     启用应答头"Vary: Accept-Encoding"

gzip_proxied off;

nginx做为反向代理时启用,off(关闭所有代理结果的数据的压缩),expired(启用压缩,如果header头中包括"Expires"头信息),no-cache(启用压缩,header头中包含"Cache-Control:no-cache"),no-store(启用压缩,header头中包含"Cache-Control:no-store"),private(启用压缩,header头中包含"Cache-Control:private"),no_last_modefied(启用压缩,header头中不包含"Last-Modified"),no_etag(启用压缩,如果header头中不包含"Etag"头信息),auth(启用压缩,如果header头中包含"Authorization"头信息)

gzip_disable msie6;

(IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩 )指定哪些不需要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库

gzip     决定是否开启gzip模块

gzip_buffers      设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间,param2:int(k) 后面单位是k

gzip_comp_level     设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大

gzip_min_length     当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩

gzip_types     设置需要压缩的MIME类型,非设置值不进行压缩    

param:text/html|application/x-javascript|text/css|application/xml

对于多数以文本为主的站点来说,文本自身内容占流量的绝大部分。虽然单个文本体积并不算大,但是如果数量众多的话,流量还是相当可观。启用GZIP以后,可以大幅度减少所需的流量。

如何开启gzip压缩

gzip是HTML压缩算法的一种,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩工作原理是:

Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;

如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;

如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;

如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;

如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;

如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

怎么做gzip压缩呢?大致有:在Contol Pannel开启gzip、开启http服务器gzip、利用php本身的gzip。

IE6和火狐都支持客户端gzip,在网页传输之前,先使用gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示。

IIS6已经内建了gzip压缩的支持。在IIS6上做gzip压缩的方法是:

如果你需要压缩静态文件,可以先在硬盘上新建一个目录,并给它“IUSR_机器名”这个用户设置写权限。如果压缩动态文件就可以不用这样的,因为它的页面是每次都动态生成的(页面动态生成),压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。给gzip的临时目录空间不要太大了200MB左右就够了。

然后选中网站下面那个服务器扩展,新建一个服务器扩展。可以用任何你想用的名字,下面的添加文件的路径是:

c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。

这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。

在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,

分别是

IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/deflate”

IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/gzip”

IIsCompressionSchemes Location =“/LM/W3SVC/Filters/Compression/Parameters”

前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,9是性价比最高的一个。

至此,怎么做gzip压缩的过程我们就都实现了,需要注意的是:网页启用了gzip压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。

如何在 apache 中开启 gzip 压缩服务

服务器设置 gzip 压缩是 web 开发里很普遍的做法。假设你要请求一个 100k 的文件,网络传输速度为 50k/s,需要 2s 才能得到数据,但是如果在服务器设置了 gzip 压缩,将服务端的文件压缩到了 50k(实际上的压缩率往往小于 50%),这时候只需 1s 就能得到数据,然后在客户端解压即可。

可以对比下同一个文件在开启 gzip 前后的大小。

gzip 压缩前:

gzip 压缩后:

那么如何在服务端开启 gzip 服务呢?这里以 apache 为例简单介绍下。

打开 apache 的 "httpd.conf" 文件,比如我的是在 "C:\wamp\bin\apache\Apache2.2.21\conf" 目录下。找到以下这一行,将它前面的注释(#)去掉:

很多参考文件都提到同时要对 LoadModule headers_module modules/mod_headers.so 去掉注释,说 "如果不开启这个,那网站就不能正常显示了" ,不过我在测试过程中没有去掉也没有问题。

接着再添上以下代码:

这样就能对所有文件进行 gzip 压缩了。压缩等级是个 1-9 之间的整数,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源。(本地测试了下 1 和 9 压缩率差不了多少...)

实际开发中我们并不需要对所有文件进行压缩,比如我们无需对图片文件进行 gzip 压缩,因为图片文件(一般为 jpg、png等格式)本身已经压缩过了,再进行 gzip 压缩可能会适得其反(详见 图片要启用gzip压缩吗?绝对不要!,背景图片千万不要gzip压缩,尤其是PNG),类似的还有 PDF 以及音乐文件。所以我们可以设置过滤指定文件或者对指定文件进行压缩。

比如我们要对图片等特殊文件不进行 gzip 压缩处理:

或者指定文件格式进行压缩:

修改好后,保存 httpd.conf 文件,记得重启 apache,再刷新浏览器看请求,应该已经生效了!

教你开启apache服务器gzip压缩配置的操作方法

实现操作

1、找到并打开apache/conf目录中的httpd.conf文件

2、httpd.conf中打开deflate_Module和headers_Module模块,具体做法为将

如下两句前面的#去掉:

LoadModule

deflate_module

modules/mod_deflate.so

LoadModule

headers_module

modules/mod_headers.so

3、在httpd.conf文件底部加入如下代码配置需要压缩的文件类型:

IfModule

deflate_moduleSetOutputFilter

DEFLATE#

Don’t

compress

images

and

otherSetEnvIfNoCase

Request_URI

.(?:gif|jpe?g|png)$

no-gzip

dont-varySetEnvIfNoCase

Request_URI

.(?:exe|t?gz|zip|bz2|sit|rar)$

no-gzip

dont-varySetEnvIfNoCase

Request_URI

.(?:pdf|doc)$

no-gzip

dont-varyAddOutputFilterByType

DEFLATE

text/html

text/plain

text/xml

text/cssAddOutputFilterByType

DEFLATE

application/x-javascript/IfModule

4、重启apache服务端

5、使用站长工具查看是否已经开启。

前端打包gzip + nginx开启静态gzip

服务端动态gzip是常见的方案,即服务端判断浏览器http请求头中的Accept-Encodin是否有gzip,有的话就说明浏览器支持gzip服务器就实时压缩生成gzip返回给浏览器,否则就返回原文件。但是这种模式是比较消耗服务器CPU的,如果前端打包的时候就压缩好,把原文件和gzip文件全丢到服务器上,服务器不干压缩的活,只区分浏览器是不是支持gzip,支持就返gzip文件,不支持就返原文件,那就能省去服务器动态压缩的环节。

PS:因为Linux系统下nginx不能向磁盘写文件,所以服务端只能实时生成。

PS:服务器数量少的条件,就不要用nginx动态压缩了。

不同的前端框架配置gzip的方式不一样,这里不多说,网上方法非常多。这里我用的VUE,可以参考下:

1、前端文件部署到服务器后,在nginx.config的目标应用location下配置 gzip_static;

gzip_static on;

gzip_http_version 1.1;

gzip_proxied expired no-cache no-store private auth;

gzip_disable "MSIE [1-6]\.";

gzip_vary on ;`

说明nginx的编译参数缺失,需要添加--with-http_gzip_static_module参数,然后重新编译:

3、验证静态gzip是否生效:

服务器开启gzip的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于服务器开启telnet服务、服务器开启gzip的信息别忘了在本站进行查找喔。

取消
扫码支持 支付码