java_nignx学习

nignx用的最多应该就是反向代理了吧(将内网的地址代理到外网)

1 反向代理

将内部服务器代理外部请求

server
{
  listen 80;
  server_name localhost;
  client_max_body_size 1024M;
  
  location /{
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host:$server_port;
  }
}

2 负载均衡

负载均衡配置一般都需要同时设置反向代理,通过反向代理跳转到负载均衡

自带4种负载均衡策略,还有2种常用的第三方  (RR --顺序 ,权重--weight ,ip_pash--固定ip  ,fair --相应时间短的优先处理 ,url-hash-----对url进行hash处理 这样就能进行缓存 least_conn ----把请求转发给连接数最少的服务器)

1 RR默认(应该是request recently) 按照顺序来

每个请求按照时间顺序逐一分配到不同的后端服务器 如果后端服务器down掉了 能自动剔除

upstream test{
  server localhost:8080;
  server localhost:8081;
}
server {
  listen 81;
  server_name localhost;
  client_max_body_size 1024M;
  
  location / {
   proxy_pass http://test;
   proxy_set_header Host $host:$server_port;
  }
}

这里我配置了两台服务器,当然实际上是一台,只是端口不一样,而8081服务器使不存在的,也就是说访问不到的,但是我们访问的http://localhost的时候也不会有问题,会默认跳转 http://localhost:8080 具体是因为Nginx会自动判断服务器的状态 如果服务器挂了就不会跳转到这台服务器

2 权重

指定轮询的几率 weight和访问比率成正比 用于后端服务器性能不均匀的情况

upstream test{
   server localhost:8080 weight=9;
   server localhost:8081 weight=1;
}

3 ip_hash

我们需要一个客户只访问一个服务器时,那么就需要使用ip_hash 了,ip_hash 的每一个请求按照访问ip的hash结果分配,这样每一个访客就能够固定访问一个后端服务器了,可以解决session问题

upstream test{
  ip_hash;
   server localhost:8080;
   server localhost:8081;
}

当有服务器需要剔除的时候,必须手动down掉

4 fair 第三方

按照后端服务器响应的时间来分配请求,响应时间短的会优先分配

upstream backend{
 fair;
 server localhost:8080;
 server localhost:8081;
}

5 url_hash

按照url的hash结果来分配请求,使每一个url定向到同一个后端服务器。在upstream 中加入hash语句 server不能写入weight等其他参数 hash_method 使用的hash算法

(是同一个url会达到同一台服务器,要配合缓存使用,一旦缓存住了资源就可以从缓存中读取)

upstream backend{
 hash $request_uri;
 hash_method crc32;
 server localhost:8080;
 server localhost:8081;
}

6 least_conn

把请求转发给连接数较少的后端服务器。轮询算法把请求平均的转发给各个后端,是他们的负载大致相同;但是,有些请求的占用时间很长,会导致其所在的后端负载较高 。(就是请求转发给连接数较少的后端服务器)

 

HTTP服务器

动静分离

正向代理

resolver 是配置的正向代理的dns服务器 listen是正向代理的端口

热启动

nginx -s reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值