一、什么是nginx
Nginx是高性能的HTTP和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。
二、正向/反向代理
正向代理:nginx作为客户端去访问服务器。
反向代理:nginx作为服务器接收请求。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
三、负载均衡
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
四、动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
五、TCP均衡负载
//修改配置和平滑启动
cd /usr/local/nginx
cd conf
vim nginx.conf
./nginx -s reload
# nginx tcp 负载均衡配置;
stream{
upstream MyServer{
server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s; //weight是按权重轮询,max_fails是最大心跳数,fail_timeou表示Nginx会等待30s之后,才会尝试再次将流量路由到被标记失败的服务器上
server 127.0.0.2:6002 weight=1 max_fails=3 fail_timeout=30s;
}
server{
proxy_connect_timeout 1s;
listen 8000; //对客户端暴露的端口
proxy_pass MyServer; //反向代理的集群标识符号
tcp_nodelay on;
}
}
六、五种负载均衡算法
1.轮询算法(默认):每个请求按时间顺序逐一分配到不同的服务器
2.最少连接算法:下一次请求到达连接数最少的服务器
3.IP哈希算法:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。("session问题"指的是负载均衡中的一个常见挑战,即如何确保用户在一段时间内与相同的后端服务器进行通信,以便保持其会话状态的一致性)
4.按权轮询算法:给每台服务器分配权重(硬件好的服务器权重设置大一些)
5.fair(第三方):响应时间短的服务器优先分配
参考博客:nginx学习,看这一篇就够了
标签:负载,请求,nginx,基本知识,Nginx,均衡,服务器 From: https://www.cnblogs.com/fly-smart/p/18047958