前端Nginx那些事
Posted IVWEB社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Nginx那些事相关的知识,希望对你有一定的参考价值。
本文转载自掘金. 原作者: 树酱
随着前端变革,nginx也成为了前端开发工程师必不可少应该具备的一项技能了,那nginx到底起的是嘛作用?其实Nginx一直跟我们息息相关,它既可以作为 Web 服务器,也可以作为负载均衡服务器,具备高性能、高并发连接等
1.负载均衡
当一个应用单位时间内访问量激增,服务器的带宽及性能受到影响,影响大到自身承受能力时,服务器就会宕机奔溃,为了防止这种现象发生,以及实现更好的用户体验,我们可以通过配置Nginx负载均衡的方式来分担服务器压力
当有一台服务器宕机时,负载均衡器就分配其他的服务器给用户,极大的增加的网站的稳定性 当用户访问web时候,首先访问到的是负载均衡器,再通过负载均衡器将请求转发给后台服务器
1.1 负载均衡的几种常用方式
-
轮询(默认)
// nginx.config
upstream backserver {
server 192.168.0.1;
server 192.168.0.2;
}
-
权重weight
指定不同ip的权重,权重与访问比成正相关,权重越高,访问越大,适用于不同性能的机器
// nginx.config
upstream backserver {
server 192.168.0.1 weight=2;
server 192.168.0.2 weight=8;
}
-
响应时间来分配
公平竞争,谁相应快,谁处理,不过这种方式需要依赖到第三方插件nginx-upstream-fair,需要先安装
// nginx.config
upstream backserver {
server 192.168.0.1;
server 192.168.0.2;
fair;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://backserver;
}
}
1.2 健康检查
Nginx 自带 ngx_http_upstream_module(健康检测模块)本质上服务器心跳的检查,通过定期轮询向集群里的服务器发送健康检查请求,来检查集群中是否有服务器处于异常状态
如果检测出其中某台服务器异常,那么在通过客户端请求nginx反向代理进来的都不会被发送到该服务器上(直至下次轮训健康检查正常)
基本例子如下
以上是关于前端Nginx那些事的主要内容,如果未能解决你的问题,请参考以下文章
前端程序员不可不知的 —— 浏览器的那些事(全都是干货!!!)