CENTOS7站点优化之资源压缩+缓存配置(gzip+cache)

根据前面几篇文章,我们已经成功搭建起基于nginx/nodejs的站点,可ftp上传/管理站点文件,可实现开机无登录自动启动服务。似乎,这样已经足够了,然鹅!我们还可以开启gzip提高访问速度,设置cache高效利用本地缓存。

开启Gzip压缩

打开nginx.conf文件(路径因安装方法不同而有所区别):

[root@localhost ~]# vi /etc/nginx/nginx.conf

http{}定义区域添加:

#开启gzip
gzip on;
#压缩临界值,大于1k文件压缩
gzip_min_length 1k;
#额,这个我再查查
gzip_buffers 4 16k;
#我用了反向代理,所以是Http/1.0
#gzip_http_version 1.1;
#压缩级别,数字越大压缩越高耗时越久
gzip_comp_level 5;
#压缩的文件类型
gzip_types text/plain application/x-javascript text/javascript application/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png image/jpg;
#开启后Header会增加Vary描述
gzip_vary off;

重启nginx服务,查看站点访问时返回的资源网络响应头信息中是否有:Content-Encoding: gzip,如果有,说明资源已经成功Gzip压缩!

设置Cache-Control

参考文章:http://www.liulichao.com/2016/04/15/nginx-set-cache.html

http{}定义区域添加:

#缓存路径
proxy_cache_path /usr/share/nginx/cache levels=1:2 keys_zone=cache_one:500m inactive=10d max_size=2g;
#临时缓存路径
proxy_temp_path /usr/share/nginx/cache/temp;

server{}定义域内添加:

location /assets/ {
root /var/www/ROOT;
access_log off;
##以下是缓存设置
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_cache cache_one;
proxy_cache_valid 200 304 12h;
proxy_cache_valid any 10m;
proxy_cache_key $host$uri$is_args$args;
add_header Nginx-Cache "$upstream_cache_status";
expires 1h;
}

此时运行,依然会报错,因为cache路径权限未匹配:

[root@localhost ~]# chmod -R a+x /usr/share/nginx/cache
NOOLDEY

本文作者:NOOLDEY

做一个诗情画意的码农,皮皮猪,我们走!

原文链接: http://zhuweisheng.com.cn/tech/centos-gzip/

本站文章如无特殊声明均为原创,创作不易,转载请注明来源,谢谢!

文章目录

  1. 1. 开启Gzip压缩
  2. 2. 设置Cache-Control