本博客linpx.com就是用下面的配置进行加速····日后可能会有变化,想起就更新吧····
开启Gzip
给Nginx上 ngx_http_gzip_module
这个模块,用 nginx -V
命令查看 configure arguments 是否有,没有的话需要编译加载这个模块
假设我们都已经有这个模块了
用vim打开配置文件,假设我的nginx.conf在/usr/local/nginx
目录下
vim /usr/local/nginx/nginx.conf
然后在 http{}
两个大括号之间
加入下面的内容,部分设置参数需要跟站点情况进行修改,加入的时候建议删除注释
gzip on;
#该指令用于开启或关闭gzip模块(on/off)
gzip_buffers 16 8k;
#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。16 8k代表以8k为单位,安装原始数据大小以8k为单位的16倍申请内存
gzip_comp_level 6;
#gzip压缩比,数值范围是1-9,1压缩比最小但处理速度最快,9压缩比最大但处理速度最慢
gzip_http_version 1.1;
#识别http的协议版本
gzip_min_length 256;
#设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。这里我设置了为256
gzip_proxied any;
#这里设置无论header头是怎么样,都是无条件启用压缩
gzip_vary on;
#在http header中添加Vary: Accept-Encoding ,给代理服务器用的
gzip_types
text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
text/javascript application/javascript application/x-javascript
text/x-json application/json application/x-web-app-manifest+json
text/css text/plain text/x-component
font/opentype font/ttf application/x-font-ttf application/vnd.ms-fontobject
image/x-icon;
#进行压缩的文件类型,这里特别添加了对字体的文件类型
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#禁用IE 6 gzip
给文件做缓存
图片文件,字体文件,js和css都是些可以用来缓存的文件,这里通过设置Expires和Cache-Control头实现,直接在配置文件中配置location
即可
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(eot|ttf|otf|woff|svg)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
当然可以通过其他方法实现更好的缓存,例如在配置文件中加入 proxy_cache_*
或 fastcgi_cache_*
,这里推荐一篇文章:zhangge.net/5067.html ,暂且这样···
参考
- nginx.org/en/docs/http/ngx_http_gzip_module.html
- www.packtpub.com/networking-and-servers/mastering-nginx
本文由 Chakhsu Lau 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
请教一下,
gzip_http_version 1.1;
这一样,如果是HTTP/2有影响么?
无影响~😁
非常感谢回复
不错的文章,内容维妙维肖.
博客写的很好啊。
谢谢 :p