当前位置:首页 > 技术周边 > 软件操作 > 正文内容

【转载】各主流应用服务器开启 GZip 的方法

Apache 开启 Gzip 压缩

首先打开 Apache 的主配置文件 httpd.conf(Windows 系统和 Linux 系统文件位置不同),找到下面那一行,去掉前面的 # 注释:

# 加载 deflate 模块LoadModule deflate_module modules/mod_deflate.so

然后,再添加以下代码:

# 开启 GZip 压缩,即告诉 Apache 对传输到浏览器的内容进行压缩SetOutputFilter DEFLATE# 压缩等级,是 1-9 之间的整数,1 最低,9 最高# 一般不建议设太高,压缩等级太高会消耗更多的 CPU 资源DeflateCompressionLevel 6# 排除 gif,jpg,jpeg,png 等图片文件SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

注意,上面代码中不会对图片进行 GZip 压缩,因为图片文件本身已经压缩过,再使用 GZip 压缩不但会消耗更多的 CPU 资源,而且几乎没有什么作用。类似的,像 PDF 文件以及音频(.mp3)、视频(.mp4)等,也不建议使用 GZip 去压缩。

最后,退出并保存 httpd.conf 文件,然后重启 Apache,此时 GZip 压缩已经生效。

Nginx 开启 Gzip 压缩

打开 nginx.conf 文件(Linux 系统一般是在 /etc/nginx/nginx.conf),找到 gzip 选项,通常是 gzip on 或 gzip off 这种配置。如果是 gzip off,把它改成 gzip on,然后,按照下面的代码,依次完成剩余配置:

# 开启 GZip 压缩gzip on;# 压缩比率,取值 1-9,值越大,压缩率越大,但是处理也越慢,一般取中间值gzip_comp_level 5;# 启用应答头 Vary: Accept-Encodinggzip_vary on;# 设置允许压缩的页面最小字节数,即如果小于该大小,Nginx 将不会对其进行压缩gzip_min_length 10240;# 表示即便是通过代理,也将对数据进行 GZip 压缩。如果是 off,则表示关闭所有代理结果的数据的压缩gzip_proxied expired no-cache no-store private auth;# 表示对哪些MIME类型文件进行压缩,其中 text/html 被系统强制启用gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;# 指定不需要 GZip 压缩的浏览器,这里是 IE1 ~ IE6gzip_disable "MSIE [1-6]\.";

除了上面列出的配置选项以外,Nginx GZip 配置还支持 gzip_buffersgzip_http_version 等选项,有兴趣的可自行查询 Nginx 相关文档。

注:如果在 nginx.conf 中找不到 gzip 选项,你可以:

  • 看看 GZip 配置是否在单独的文件中,如:/etc/nginx/conf.d/gzip.conf

  • 自行添加 gzip on 选项

保存 nginx.conf 并重启 Nginx 服务器(也可以使用 reload 命令重载配置),然后使用本工具再次测试 GZip 压缩是否生效。

IIS 开启 Gzip 压缩

如果你的网站使用的是 IIS Web 服务器,有 2 种方式开启 GZip 压缩:

1、使用 web.config 文件来配置 GZip

当你无法直接配置 IIS 的时候(比如网站主机是共享主机的情况),可以使用这种方式来开启 GZip 压缩;另外,使用 web.config 文件配置 GZip 具有很好的移植性。换句话说,如果将来换了另一台 Windows 主机,可以直接使用这份 web.config 文件来开启 GZip,而不需要重新配置。

下面是 web.config 的具体内容,保存后即可开启 GZip:

<system.webServer>
  <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <dynamicTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </dynamicTypes>
    <staticTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </staticTypes>
  </httpCompression>
  <urlCompression doStaticCompression="true" doDynamicCompression="true"/></system.webServer>

上面的配置主要由 httpCompression 和 urlCompression 两个选项组成。其中,httpCompression 选项用于细粒度的控制 GZip 功能;urlCompression 用于控制静态和动态内容的压缩。

2、通过 IIS Manager 以图形界面的方式开启 GZip

首先连接到网站管理面板,找到 IIS > Compression 选项,如下图所示:

IIS Compression 选项
IIS Compression 选项

在显示的窗口中,勾选 Enable dynamic content compression,并点击 Apply 按钮,即可开启 IIS 的 GZip 压缩功能。下图是 IIS Compression 配置界面:

IIS Compression 配置界面
IIS Compression 配置界面


扫描二维码推送至手机访问。

版权声明:本文由Znanr发布,如需转载请注明出处。

本文链接:https://www.znanr.com/?id=102

返回列表

上一篇:PS不能直接拉入图片啦!怎么办

没有最新的文章了...

相关文章

IIS服务器常见错误解析及排错指南、错误代码大全

IIS服务器常见错误解析及排错指南、错误代码大全

IIS服务器出错的原因是复杂的。象服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS出现何种错误,在确定排错方案之前,都应先使用事件查看器查阅系统日志所记...

在Win 2003 server操作系统下通过IIS安全配置

在Win 2003 server操作系统下通过IIS安全配置

Win2003 Server的安全性较之Win2K确实有了很大的提高,但是用Win2003 Server作为服务器是否就真的安全了?如何才能打造一个安全的个人Web服务器?下面我们简单介绍一下一、Wi...

配置IIS网站web服务器的安全策略配置解决方案

配置IIS网站web服务器的安全策略配置解决方案

通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问题严重影响了网站的可访问性,尽管Apache服务器也常常是攻...

PhpStorm2017破解版下载及破解教程

PhpStorm2017破解版下载及破解教程

PhpStorm?是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。优点:1、跨平台。2、对PHP...

PS不能直接拉入图片啦!怎么办

PS不能直接拉入图片啦!怎么办

1、点进开始按钮+R,这时候会出现-运行,我们要在运行里输入“ regedit“,点击确定2、这时出现很多文件夹,找到HKHKEY_LOCAL_MACHINE–SOFTWARE–Microsoft–W...

Windows服务器中IIS返回的网页错误代码大汇总及原因解

Windows服务器中IIS返回的网页错误代码大汇总及原因解

400 无法解析此请求。401.1 未经授权:访问由于凭据无效被拒绝。401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。401.3 未经授权:访问由于 ACL 对所请求资源的...