版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/themagickeyjianan/article/details/88925877
1)背景
公司会建立很多的服务器,这些服务器组成了服务器集群,当用户访问网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器群中选择一个压力较小的服务器,然后将该访问请求引入选择的服务器;
所以每次访问,都会保证服务器群中的每个服务器压力趋于平衡,分摊了服务器压力,避免了服务器崩溃的情况。
2)Upstream模块实现负载均衡配置
// 修改nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream firstdemo {
server 39.106.145.33;
server 47.93.6.93;
}
server {
listen 8080;
location / {
proxy_pass http://firstdemo;
}
}
}
workr_processes:
工作进程数,和cpu核心数相同
workr_connections:
每个进程允许的最大连接数
updtream:
负载均衡就靠这个,里面配置了服务器群中的服务器;
格式:upstream name{}
里面2个server分别对应着不同的服务器
server:
实现反向代理
listen:
监督端口号
location / {}: 访问根路径
proxy_pass http://firstdemo: 代理到firstdemo里2个服务器上
3)ip_hash
作用是如果第一次访问该服务器后就记录,之后在访问就是该服务器了,这样比如第一次访问时33服务器,之后再次访问都会是33服务器
// 省略...
upstream firstdemo {
ip_hash;
server 39.106.145.33;
server 47.93.6.93;
}