Nginx应用场景

2021-03-17  本文已影响0人  GavinZZW

反向代理,负载均衡,动静分离

1.反向代理

image.png

修改nginx配置,并重新加载


image.png

重新加载nginx配置
./nginx -s reload
重新访问,则会指向8080,就是tomcat的页面

image.png image.png

再部署⼀台tomcat,保持默认监听8081端⼝
修改nginx配置


image.png

这⾥主要就是多location的使⽤,这⾥的nginx中server/location就好⽐tomcat中的Host/Context

location 语法如下:

location [=|~|~*|^~] /uri/ { … }

在nginx配置⽂件中,location主要有这⼏种形式:
1)正则匹配 location ~ /lagou { }
2)不区分⼤⼩写的正则匹配 location ~* /lagou { }
3)匹配路径的前缀 location ^~ /lagou { }
4)精确匹配 location = /lagou { }
5)普通路径前缀匹配 location /lagou { }
优先级
4 > 3 > 2 > 1 > 5

2.负载均衡

一个url对应两台服务器


image.png

Nginx负载均衡策略

轮询:

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

upstream lagouServer{
 server 111.229.248.243:8080;
 server 111.229.248.243:8082;
}
location /abc {
 proxy_pass http://lagouServer/;
}
weight

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

upstream lagouServer{
 server 111.229.248.243:8080 weight=1;
 server 111.229.248.243:8082 weight=2; }

ip_hash

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

upstream lagouServer{
 ip_hash;
 server 111.229.248.243:8080;
 server 111.229.248.243:8082;
}

动静分离

动静分离就是讲动态资源和静态资源的请求处理分配到不同的服务器上,⽐较经典的组合就是
Nginx+Tomcat架构(Nginx处理静态资源请求,Tomcat处理动态资源请求),那么其实之前的讲解
中,Nginx反向代理⽬标服务器Tomcat,我们能看到⽬标服务器ROOT项⽬的index.jsp,这本身就是
Tomcat在处理动态资源请求了。
所以,我们只需要配置静态资源访问即可。


image.png

Nginx配置

location /statis/{
  root staticData
}
上一篇下一篇

猜你喜欢

热点阅读