反向代理

反向代理需求一:
访问Nginx的时候被转发到tocmat的服务器上image.png
反向代理需求二:
目标服务器上存在两个服务
当访问xxx.xxx.xxx/a时实际访问为A服务器
当访问xxx.xxx.xxx/b时实际访问为B服务器
image.png
在nginx配置文件中配置两个不同的转发地址即可。访问时输入ip: xxx.xxx.xxx:端口号/location名称
image.png

负载均衡

image.png

配置:

配置轮询服务组
image.png
将服务组应用到代理块中
image.png

负载均衡策略

轮询

默认策略,每个请求按时间顺序逐⼀分配到不同的服务器,如果某⼀个服务器下线,能⾃动剔除

  1. upstream circleServer{
  2. #均摊到80和83端口的tomcat上
  3. server 127.0.0.1:8080;
  4. server 127.0.0.1:8083;
  5. }
  6. location /a {
  7. #代理到当前的tocmat服务器
  8. # proxy_pass http://127.0.0.1:8080/;
  9. proxy_pass http://circleServer/;
  10. # root html;
  11. # index index.html index.htm;
  12. }

weight

weight代表权重,默认每⼀个负载的服务器都为1,权重越⾼那么被分配的请求越多(⽤于服务器性能不均衡的场景)性能好的服务器能承担更多的请求

  1. upstream circleServer{
  2. server 111.229.248.243:8080 weight=1;
  3. server 111.229.248.243:8082 weight=2;
  4. }

ip_hash

每个请求按照ip的hash结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可以解决session问题

  1. upstream circleServer{
  2. ip_hash;
  3. server 111.229.248.243:8080;
  4. server 111.229.248.243:8082;
  5. }

动静分离

image.png