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

【转载】各主流应用服务器开启 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://znanr.com/?id=102

返回列表

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

没有最新的文章了...

相关文章

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

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

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

PhpStorm2017破解版下载及破解教程

PhpStorm2017破解版下载及破解教程

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

Zend studio13.6.1汉化

Zend studio13.6.1汉化

首先不建议大家去汉化,即使你因为不是很好!为什么呢?因为汉化后的软件虽然方便你的使用,但是网上的项目的Error解决方案及zend studio软件的配置都是英文版的说明,也就是说人家教你怎么配英文版...

phpstorm 常用快捷键及自定义快捷键

phpstorm 常用快捷键及自定义快捷键

查询快捷键CTRL+N   查找类CTRL+SHIFT+N  查找文件,打开工程中的文件(类似于eclipse中的ctrl+shift+R),目的是打开当前工程下任意目录的文件CT...

通过注册表进行windows server远程桌面3389默认端口

通过注册表进行windows server远程桌面3389默认端口

远程桌面服务所使用的通信协议是Microsoft定义RDP(Reliable?Data?Protocol)协议,RDP协议的TCP通信端口号是3389。为了安全起见,我们常需要更改其端口。运行注册表编...

PHPStorm配合Git的使用

PHPStorm配合Git的使用

我们知道平时利用git作为项目版本管理控制的时候1.直接在命令窗口直接使用命令下载,更新,上传等等2.使用界面化工具进行界面化操作。现在有了PhpStorm,可以直接使用编辑器进行,下载,上传,更新,...