Nginx开启http2访问和gzip网页压缩功能

enter image description here

准备工做

  若是Nginx要开启http2须要知足如下2个条件:javascript

  • nginx >=1.9.5
  • openSSL >= 1.0.2
    因此这里咱们首先要检查Nginx的版本若是没有安装要先安装Nginx
##更新源
sudo apt-get update
##安装nginx
sudo apt-get install nginx
##查看Nginx版本
nginx -v

若是上面的当前服务器上的nginx版本大于1.9.5。说明能够完美的支持http2。若是小于1.9.5请先升级,nginx官网 .这里提示一下Ubuntu 16.04.1版本默认安装的nginx版本是1.10.3能够完美支持http2。css

修改配置文件开启http2

  因为http2须要ssl证书的支持。咱们能够申请免费的ssl证书。能够参考我以前的文章免费ssl证书申请html

##编辑配置文件
vi /etc/nginx/sites-enabled/default

新增如下配置java

server {
            listen 443 http2;#注意这个里的http2
            server_name test.com;#替换本身的域名
            root html;
            index index.html index.htm;
            ssl on;
            ssl_certificate /home/ubuntu/ssl/test.crt;#替换本身的证书
            ssl_certificate_key /home/ubuntu/ssl/test.com.key;#替换本身的证书
            ssl_session_timeout 5m;
            ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
            ssl_prefer_server_ciphers on;
            location / {
                    try_files $uri $uri/ =404;
            } }

记得本身修然server_name和对应证书位置。而后保存nginx

##从新加载配置文件
sudo nginx -s reload

也能够增长如下配置, 让全部http请求自动跳转到httpsweb

server {  
    listen  80;  
    server_name test.com;  
    rewrite ^(.*)$  https://$host$1 permanent;  
}

而后使用chrome先打开本身网站。而后输入chrome://net-internals/#http2
若是列表上面有显示你的网站说明http2已经开启。
enter image description herechrome

开启gzip压缩功能

##编辑配置文件
vi /etc/nginx/nginx.conf

这个时候你会看到如下配置
enter image description here
咱们主要把图中红框部分注释放开就能够了。下面是配置json

gzip on;#是否开启gzip
        gzip_disable "msie6";#(IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩 )指定哪些不须要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库
        gzip_vary on;#启用应答头"Vary: Accept-Encoding"
        gzip_proxied any;
        gzip_comp_level 6;# gzip压缩比/压缩级别,压缩级别 1-9,级别越高压缩率越大,固然压缩时间也就越长(传输快但比较消耗cpu)。
        gzip_buffers 16 8k;# 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 表明以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 表明以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
        gzip_http_version 1.1;#识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;#匹配压缩类型

重启以后验证ubuntu

##后面地址能够换成具体的资源
curl -I -H "Accept-Encoding: gzip, deflate" "https://sheeplovewolf.com/"
HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 04 Jul 2018 05:01:47 GMT
Content-Type: text/html
Last-Modified: Tue, 31 Jan 2017 15:01:11 GMT
Connection: keep-alive
ETag: W/"5890a6b7-264"
Content-Encoding: gzip

若是返回Content-Encoding: gzip说明gzip已经开始。到此服务已经开起了http2和gzip。这样可让你web应用访问速度提高一个档次。浏览器

相关文章
相关标签/搜索