nginx 反向代理与负载均衡配置模拟
反向代理
1、nginx.conf 中配置
upstream tomcat1 {
server 192.168.102.148:8080;
}
server {
listen 80;
server_name www.sina.com.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat1;
index index.html index.htm;
}
}
upstream tomcat2 {
server 192.168.102.148:8081;
}
server {
listen 80;
server_name www.sohu.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat2; #代理路径
index index.html index.htm;
}
}
2、配置域名
修改window的hosts文件:(C:\Windows\System32\drivers\etc)
192.168.102.148 www.sina.com.cn
192.168.102.148 www.sohu.com
负载均衡:
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstreamtomcat2 {
server 192.168.102.148:8081;
server 192.168.102.148:8082;
}
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 {
server 192.168.102.148:8081;
server 192.168.102.148:8082 weight=2;
}
ngnix转发的实现负载均衡的几种方式:
1、热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #热备
}
2、轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....
upstream mysvr {
server 127.0.0.1:7878; server 192.168.10.121:3333; }
3、加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....
upstream mysvr {
server 127.0.0.1:7878 weight=1;
server 192.168.10.121:3333 weight=2;
}
4、ip_hash:nginx会让相同的客户端ip请求相同的服务器。
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333;
ip_hash;
}
更多nginx 负载均衡参考 https://www.cnblogs.com/knowledgesea/p/5199046.html