反向代理
反向代理需求一:
访问Nginx的时候被转发到tocmat的服务器上
反向代理需求二:
目标服务器上存在两个服务
当访问xxx.xxx.xxx/a时实际访问为A服务器
当访问xxx.xxx.xxx/b时实际访问为B服务器
在nginx配置文件中配置两个不同的转发地址即可。访问时输入ip: xxx.xxx.xxx:端口号/location名称
负载均衡
配置:
负载均衡策略
轮询
默认策略,每个请求按时间顺序逐⼀分配到不同的服务器,如果某⼀个服务器下线,能⾃动剔除
upstream circleServer{
#均摊到80和83端口的tomcat上
server 127.0.0.1:8080;
server 127.0.0.1:8083;
}
location /a {
#代理到当前的tocmat服务器
# proxy_pass http://127.0.0.1:8080/;
proxy_pass http://circleServer/;
# root html;
# index index.html index.htm;
}
weight
weight代表权重,默认每⼀个负载的服务器都为1,权重越⾼那么被分配的请求越多(⽤于服务器性能不均衡的场景)性能好的服务器能承担更多的请求
upstream circleServer{
server 111.229.248.243:8080 weight=1;
server 111.229.248.243:8082 weight=2;
}
ip_hash
每个请求按照ip的hash结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可以解决session问题
upstream circleServer{
ip_hash;
server 111.229.248.243:8080;
server 111.229.248.243:8082;
}