Nginx配置负载均衡
1、为了测试负载均衡,我们部署两台用于测试的系统
2、配置Nginx负载均衡
2.1、修改nginx的nginx.conf配置文件
cd /usr/local/nginx/conf/
vi nginx.conf
#在http节点内添加
34 #配置集群节点
35 upstream heimao-test{
36 ip_hash;
37 server 192.168.211.130:8081;
38 server 192.168.211.130:8082;
39 }
40
41
42 server {
43 listen 80;
44 server_name test.heimao.com;
45 proxy_set_header X-Forwarded-Host $host;
46 proxy_set_header X-Forwarded-Server $host;
47 proxy_set_header Host $host;
48
49
50 #charset koi8-r;
51
52 #access_log logs/host.access.log main;
53
54 location / {
55 #root html;
56 #index index.html index.htm;
57 proxy_pass http://heimao-test;
58 proxy_connect_timeout 600;
59 proxy_read_timeout 600;
60 }
70 }
#重启nginx
cd ../sbin
./nginx -s reload
测试,可以关闭对应的两台tomcat来验证系统的集群。只要还有一台服务器在运行系统就是可使用,除非两台服务器全部关闭才不能访问系统
Nginx负载均衡调度算法:
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的服务器,如果当前服务器down掉,则会跳转到下一台服务器
34 #配置集群节点
35 upstream heimao-test{
37 server 192.168.211.130:8081;
38 server 192.168.211.130:8082;
39 }
2、weight(权重)
指定在轮询的基础上加上权重,weight的访问比率成正比,即用于表明服务器的性能好坏,若服务器性能较好则可以将大部分请求分配给它,已实现其力所能及
34 #配置集群节点
35 upstream heimao-test{
37 server 192.168.211.130:8081 weight=2;
38 server 192.168.211.130:8082 weight=1;
39 }
3、ip_hash(ip哈希值)
每个请求按访问ip的hash结果分配,当新的请求到达时,先将其客户端ip通过哈希算法进行哈希出一个值,在随后的请求客户端ip的哈希值只要相同,就会分配至同一个后端服务器,该调度算法可以解决session的问题
34 #配置集群节点
35 upstream heimao-test{
36 ip_hash;
37 server 192.168.211.130:8081;
38 server 192.168.211.130:8082;
39 }