本文用于记录Nginx使用技巧。
Nginx开启Gzip压缩功能,可以使网站的css、js 、xml、html 文件在传输时进行压缩,提高访问速度,进而优化Nginx性能!
Nginx可以通过
ngx_http_gzip_module
模块、ngx_http_gzip_static_module
模块和ngx_http_gunzip_module
模块对这些指令进行解析和处理。在Nginx配置文件中可以配置Gzip的使用,相关指令可以在http区域、server区域、location区域配置。
ps:如果你的服务器带宽较小,开启gzip压缩可以提升访问速度哦!
gzip on
:开启gzip压缩功能gzip_vary on
:on
为开启,off
为关闭,开启后,服务器返回数据时会在头部带上"Vary"的标识。客户端便可以知道获取到的数据是否已经被压缩,默认为关闭gzip_min_length
:指定请求的数据超过某个阈值后才开启Gzip压缩功能,压缩很小的珊瑚橘反而会把数据变大,从而影响性能gzip_buffers
:该指令用于设置文件使用的缓存空间大小,number为指定Nginx服务器要向服务器申请的缓存空间的个数,size 每个缓存的空间大小,从0.7版本之后默认情况下size*number的值为128,其中size去系统内存页的大小gzip_disable
:支持针对不同匹配条件选择项关闭压缩功能,其中regex根据浏览器标志进行设置,支持使用正则表达式gzip_http_version
:支持针对不同的http版本设置。早期的浏览器或者http不支持Gzip压缩功能,可能会出现乱码等现象。截止目前大多数客户端都支持Gzip压缩功能,因此选择默认即可gzip_comp_level
gzip_types
:响应报文数据格式,或者说类型,对应http响应头中的Content-type字段,如常见的有text/html、text/css、application/json、application/javaScript等。用于指定要压缩的响应报文类型。”*”表示压缩所有格式的响应报文,多种格式用空格隔开。如text/html text/css text/plain
等worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; keepalive_timeout 65; #开启gzip压缩功能 gzip on; gzip_min_length 1024; gzip_buffers 4 16k; gzip_comp_level 2; gzip_types *; gzip_vary on; server { listen 80; server_name localhost; location / { root /data/software/nginx/html/dist; index index.html index.htm; } } }
实际开发中,无论出于什么原因,总是经常会有监听的uri需要替换或去除的需求,可以使用rewrite对url进行重写,以达到任何自定义的需求。
location /api/ { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://backend_server; } # 代理为图片(文件)服务器,通过rewrite重写images为空,以达到去除请求url中/images节点的需求 location /images/ { rewrite ^/images/(.*)$ /$1 break; root /usr/local/img; }
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!