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/

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