1、文件高效读取
sendfile on
可配置在http,server,location
2、提高网络传输效率
tcp_nopush on
默认关闭
可配置在http,server,location
原理:当包累计到一定大小后就发送,可搭配sendfile使用,实时性差
3、tcp_nodelay
tcp_nodelay on
默认开启
作用:在keepalive连接下,可提高网络实时性,与tcp_nopush相反
4、压缩
gzip on
默认关闭
可配置在http,server,location
gzip_comp_level 1-9#压缩级别,1最小,默认为1,越高越耗cpu
gzip_types:压缩类型,可查看mime.types文件获取压缩类型
图片压缩案例
先不开启压缩
server {
listen 80;
server_name www.ylw.com;
#匹配以jpg,gif,png结尾的文件。~表示区分大小写,.*表示匹配一个或多个任意字符,\表示转义,$表示结尾符
location ~ .*\.(jpg|gif|png)$ {
#gzip on;
#gzip_http_version 1.1;
#gzip_comp_level 9;
#gzip_types image/png image/x-jng image/gif image/jpeg ;
root /soft/code/images;
}
}
访问查看文件大小
image.png
开启压缩功能,访问查看图片大小
image.png
文件压缩
增加一个location,先不开启压缩功能
server {
listen 80;
server_name www.ylw.com;
location ~ .*\.(jpg|gif|png)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types image/png image/x-jng image/gif image/jpeg ;
root /soft/code/images;
}
location ~ .*\.(css|js|xml|html|htm)$ {
#gzip on;
#gzip_http_version 1.1;
#gzip_comp_level 9;
#gzip_types text/css text/html text/xml application/javascript;
root /soft/code/doc;
}
}
查看页面
image.png
开启压缩功能,查看页面
image.png
浏览器缓存设置
server {
listen 80;
server_name www.ylw.com;
location ~ .*\.(jpg|gif|png)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types image/png image/x-jng image/gif image/jpeg ;
root /soft/code/images;
expires 1h;#浏览器缓存一小时
}
location ~ .*\.(css|js|xml|html|htm)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/css text/html text/xml application/javascript;
root /soft/code/doc;
expires 1h;#浏览器缓存一小时
}
}
查看效果
image.png
目录缓存配置参考
location ~ ^/(images|js|static|doc)/ {
expires 1h;
root /soft/code;
}