nginx负载均衡配置

分类首页日期1年前访问1117评论0
创建三个测试域名,一个负载负载均衡,两个测试项目

两个项目配置如图,分别部署在不同的文件

然后单独访问域名
访问:http://api.test.com:8080/

访问:http://api.test.com:8081/

还剩一个http://api.test.com/(80端口的)没配置,需要配置,根目录创建空文件夹就行了,这里我没有去把它当做一台项目服务器,只是用来处理负载均衡的服务器

需要配置nginx.cong文件了

添加配置


#这里的域名根据自己配置的域名设置
upstream api.test.com{
		server api.test.com:8080;
		server api.test.com:8081;
  	}

#这里我只配置了轮询的模式,还有几种方式 
ip_hash 每个请求按访问IP的hash结果进行分配,这样每个访客就可以固定访问一个后端服务,一定程度上可以解决session问题;
upstream api.test.com{
    ip_hash; 
    server api.test.com:8080;
    server api.test.com:8081;
}
weight代表权重,默认为1,权重越高,被分配的客户端请求就会越多
upstream api.test.com{
     server api.test.com:8080 weight=8;
     server api.test.com:8081 weight=2;
  }
fair(第三方)按后端服务器的响应时间来分配请求,响应时间短的将会被优先分配
upstream api.test.com{
    	server api.test.com:8080;
	server api.test.com:8081;
        fair;
}
url_hash 按访问URL的hash结果分配。这样相同的url会被分配到同一个节点,主要为了提高缓存命中率。比如,为了提高访问性能,服务端有大量数据或者资源文件需要被缓存。使用这种策略,可以节省缓存空间,提高缓存命中率
upstream api.test.com{
    hash &request_uri;
    server api.test.com:8080;
    server api.test.com:8081;
}
least_conn 按节点连接数分配,把请求优先分配给连接数少的节点。该策略主要为了解决,各个节点请求处理时间长短不一造成某些节点超负荷的情况。
upstream api.test.com{
    least_conn;
    server api.test.com:8080;
    server api.test.com:8081;
}
以上不同的负载均衡策略均有各自不同的使用场景,请结合自身的实际情况进行合理的选择,同时,各自配置策略在实际使用的时候也不是孤立的,比如最小连接数可以搭配权重数一起使用



还需要去修改一下api.test.com:80那个配置文件

#配置成自己域名
location / {
			 #转发到负载服务上
			 proxy_pass http://api.test.com;
		}


最后一步就是重启nginx
然后访问测试结果


完结