nginx 常用的调优配置-kb88凯时官网登录

时间:2018-08-08
阅读:
免费资源网 - https://freexyz.cn/

nginx是一款轻量级的web /反向代理服务器及电子邮件(imap/pop3)代理服务器,并在一个bsd-like 协议下发行。由俄罗斯的程序设计师igor sysoev所开发,供俄国大型的入口网站及搜索引擎rambler(俄文:рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。设置好nginx能提高服务器运行速度与安全。

nginx怎样设置浏览器缓存

首先打开配置文件/etc/nginx/nginx.conf,然后找到下面这句话:

location~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
expires 30d;
}

设置expires这个参数即可,30d表示30天,注意后面有个分号”;”。

如果过期时间为小时,则用”h”,如”expires 1h;”表示文件缓存在1小时后过期。看看下面的范例:

#图片缓存30天
location ~.*.(jpg|png|jpeg)$
{
expires 30d;
}
#js css缓存一小时
location ~.*.(js|css)?$
{
expires 1h;
}

这样,就设置完毕了。再在卡卡网站速度诊断里诊断一下,结果会显示各个文件已经有了一个有效期。如下:

启用gzip压缩

gzip压缩,是一种网站速度优化技术,也是一把seo优化利器,许多网站都采用了这种技术,以达到提升网页打开速度、缩短网页打开时间的目的。

nginx 配置 gzip压缩

默认情况下,nginx的gzip压缩是关闭的,也只对只对text/html进行压缩,需要在编辑nginx.conf文件,在http段加入一下配置,常用配置片段如下:

gzip on;

gzip_comp_level 6; # 压缩比例,比例越大,压缩时间越长。默认是1

gzip_types text/xml text/plain text/css application/javascript application/x-javascript application/rss xml; # 哪些文件可以被压缩

gzip_disable “msie [1-6].”; # ie6无效

nginx如何设置js、css等文件的过期时间

首先打开配置文件/etc/nginx/nginx.conf,然后找到下面这句话:

location~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
expires 30d;
}

设置expires这个参数即可,30d表示30天,注意后面有个分号”;”。

如果过期时间为小时,则用”h”,如”expires 1h;”表示文件缓存在1小时后过期。看看下面的范例:

#图片缓存30天
location ~.*.(jpg|png|jpeg)$
{
expires 30d;
}
#js css缓存一小时
location ~.*.(js|css)?$
{
expires 1h;
}

语法解释

nginx作为web服务器,有时需要让浏览器缓存(browser caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。

nginx通过expires指令来设置浏览器的header

语法: expires [time|epoch|max|off]

默认值: expires off

作用域: http, server, location

使用本指令可以控制http应答中的”expires”和”cache-control”的头标,(起到控制页面缓存的作用)。

可以在time值中使用正数或负数。”expires”头标的值将通过当前系统时间加上您设定的 time 值来获得。

epoch 指定”expires”的值为 1 january, 1970, 00:00:01 gmt。

max 指定”expires”的值为 31 december 2037 23:59:59 gmt,”cache-control”的值为10年。

-1 指定”expires”的值为服务器当前时间;-1s,表示永远过期,即不缓存文件。

标头”vary:accept-encoding”的指定方法

指定标头”vary:accept-encoding”的重要意义

指定”vary: accept-encoding”标头,用一句话来说明它的意义,就是”告诉代理服务器缓存两种版本的资源:压缩和非压缩,这有助于避免一些公共代理不能正确地检测content-encoding标头的问题。”不过我想很多人都不理解这句话是什么意思,所以需要更详细的解释。

正常情况下,”response”的结果是可读文本,但并不是所有的服务器端都返回这样的正常的结果到用户端,有的返回一堆乱码,这显然是不正常的。

当浏览器发出一个请求时,会包含一些http头信息,服务器会根据这些头信息决定返回什么样的东西(这是一个移动客户端吗?它能否处理压缩内容?它是否需要特定的语言支持?)。

直接访问是好的,但现在网络使用了中间高速缓存(cache)和内容分发网络(cdn)。这就产生了一个问题,缓存如何使用头信息决定返回什么?它能否复制服务器端的决策逻辑?

“vary”解决了这个问题,”vary”头描述什么信息”唯一地”标识一个请求——传入的请求只有完全匹配缓存的”vary”信息,缓存才被使用。

gzip_vary on
免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图