Nginx 如何实现后端服务的健康检查?
-
方式一,利用 nginx 自带模块
ngx_http_proxy_module
和ngx_http_upstream_module
对后端节点做健康检查。 -
方式二(推荐),利用
nginx_upstream_check_module
模块对后端节点做健康检查。
Nginx 如何开启压缩?
开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。
开启的配置如下:
将以上配置放到nginx.conf的http{ … }节点中。
http {
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件;小于设置值的文件将不会被压缩
gzip_min_length 1k;
# gzip 压缩级别 1-10
gzip_comp_level 2;
# 进行压缩的文件类型。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
}
保存并重启nginx,刷新页面(为了避免缓存,请强制刷新)就能看到效果了。以谷歌浏览器为例,通过F12看请求的响应头部:
我们可以先来对比下,如果我们没有开启zip压缩之前,我们的对应的文件大小,如下所示:
现在我们开启了gzip进行压缩后的文件的大小,可以看到如下所示:
并且我们查看响应头会看到gzip这样的压缩,如下所示
gzip压缩前后效果对比:jquery原大小90kb,压缩后只有30kb。
gzip虽然好用,但是以下类型的资源不建议启用。
1、图片类型
原因:图片如jpg、png本身就会有压缩,所以就算开启gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源。(Tips:可以试试将一张jpg图片压缩为zip,观察大小并没有多大的变化。虽然zip和gzip算法不一样,但是可以看出压缩图片的价值并不大)
2、大文件
原因:会消耗大量的cpu资源,且不一定有明显的效果。