nginx正向代理
正向代理是对客户端的代理,架设在客户端的主机,客户端访问服务端的时候是知道真正访问的服务端的地址的。
nginx反向代理
反向代理是对服务端的代理,架设在服务端的主机,客户端访问服务端的时候是不知道真正访问的服务端的地址的。
nginx动静分离
nginx动静分离简单来说就是把动态和静态请求分开,可以理解成用nginx处理静态页面,使用tomcat处理动态页面。动静分离的实现方式大概有两种,一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,这也是目前主流的方案。另一种是动态和静态文件混合发布在一起,用nginx分开,通过location指定不同的后缀名实现不同的请求转发。通过expires参数设置可以设置游览器缓存过期时间,减少与服务器之间的请求和流量。具体的expires定义就是给资源设置一个过期时间,访问时不用去服务端验证,直接通过游览器自身确认是否过期即可,不会产生额外的流量。这种方法非常适合不经常变动的资源,假如我设置一个过期时间为2d,那么我在这2天的时间内访问这个资源,如果资源没有发生变动,就不会从服务端抓取,返回状态码304。如果有修改会从服务器重新下载,返回200
nginx负载均衡
顾名思义,负载均衡就是把负载分摊到不同的服务单元上,既保证服务的可用性,又保证响应速度,给用户良好的使用体验。
nginx 负载均衡的策略
1.轮询
每个请求按照时间顺序分配到不同的后台服务器上,如果后台服务器down掉,可以直接剔除。
2.权重
默认权重为1,权重值越大权重越高。指定了轮询几率,权重值的比例就是访问比例。适合性能不同的服务器情况。例如:
`
upstream myserver{
server 192.168.109.122:9001 weight=5;
server 192.168.109.122:9002 weight=15;
}
`
3.ip_hash
每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个服务器,可以解决session问题。
`
upstream myserver{
ip_hash;
server 192.168.109.122:9001;
server 192.168.109.122:9002;
}
`
4.fair 第三方
按后台服务器的响应时间来分配,响应时间短的优先分配。
`
upstream myserver{
fairl;
server 192.168.109.122:9001;
server 192.168.109.122:9002 ;
}
`
nginx 负载均衡和ribbon负载均衡的区别
Ribbon本地负载均衡
原理:在调用接口的时候、会在eureka注册中心上获取注册信息服务列表,获取到之后,缓存在jvm本地,使用本地实现rpc远程技术进行调用,即是客户端实现负载均衡
Nginx服务器负载均衡
客户端所有请求都会交给nginx,nginx通过反向代理的功能分发到不同的服务器,做负载均衡,即负载均衡是由服务端实现
应用场景:ribbon本地负载均衡适合微服务rpc远程调用,比如:dubbo,springcloud;nginx服务负载均衡适合于针对服务器端,比如:tomcat
如何搭建nginx高可用集群
https://www.cnblogs.com/zzmx0/p/13338929.html?utm_source=tuicool
个人小结,复习用