如何在Apache和Nginx上启用gzip压缩?

  • 发布时间:2020-02-21 16:17:33
  • 阅读次数:1871

gzip压缩是在服务器端对数据进行压缩,再由客户端(如浏览器)进行解压的过程。启用gzip压缩不仅可以节省网络传输的带宽,还可以提高应用程序加载的速度,但是会消耗服务器端一定的CPU资源。下图是一个典型的HTTP请求和响应的流程,可以看出,一个原始大小为100K的html文件,经过gzip压缩后只有10KB。

启用压缩前:

启用压缩后:

Apache和Nginx是两种在Linux云服务器上使用广泛的Web服务器,下面就介绍如在两种Web服务器上启用gzip压缩。

Apache

在Apache的配置文件里添加如下代码块:

<IfModule mod_deflate.c>
    # compress html, css, javascript, text, xml and fonts
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/x-font
    AddOutputFilterByType DEFLATE application/x-font-opentype
    AddOutputFilterByType DEFLATE application/x-font-otf
    AddOutputFilterByType DEFLATE application/x-font-truetype
    AddOutputFilterByType DEFLATE application/x-font-ttf
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/opentype
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml

    # you can also compress by file type/extension:
    <files *.html>
        SetOutputFilter DEFLATE
    </files>
</IfModule>

Nginx

对于Nginx服务器,gzip是默认开启的,可以通过查看Nginx的配置文件来确认这一点。

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

【全文完】

< 上一篇:如何更改CentOS云服务器的系统时区? 下一篇:如何在Linux云服务器上安装MyCLI? >