環(huán)境準(zhǔn)備:
1、這里我準(zhǔn)備了兩臺服務(wù)器
一臺nginx : 112.*.*.62(這是ip) centos 7.2
一臺tomcat :119.*.*37(這是ip) centos7.2
其實(shí)應(yīng)該準(zhǔn)備兩臺tomcat的,這樣看效果能看的清楚點(diǎn)亭畜,不過這也無傷大雅。
nginx配置
修改了/etc/nginx/nginx.conf 文件侄非,如下睡扬,如果想多轉(zhuǎn)發(fā)到其他的tomcat的話谬哀,就可以在upstream配置多臺tomcat的ip
再修改default.conf文件比吭,如下
測試
先直接訪問tomcat服務(wù)器绽族,提示如下,說明已經(jīng)成功訪問到tomcat中了(不要在意這個(gè)404報(bào)錯(cuò)梗逮,這個(gè)錯(cuò)誤正是tomcat提示出來的)
然后再訪問nginx服務(wù)器,提示也如下
說明nginx已經(jīng)成功把請求轉(zhuǎn)發(fā)到tomcat中了绣溜,這個(gè)錯(cuò)誤就是tomcat返回給nginx慷彤,然后再返回給客戶端的。
負(fù)載均衡策略
1、輪詢
這種是默認(rèn)的策略底哗,把每個(gè)請求按順序逐一分配到不同的server岁诉,如果server掛掉,能自動剔除跋选。
upstream futest.com{
server 192.168.99.1:80;
server 192.168.99.2:80;
}
2涕癣、最少連接
把請求分配到連接數(shù)最少的server
upstream futest.com {
least_conn;
server 192.168.99.1:80;
server 192.168.99.2:80;
}
3、權(quán)重
使用weight來指定server訪問比率前标,weight默認(rèn)是1坠韩。以下配置會是server2訪問的比例是server1的兩倍。
upstream futest.com{
server 192.168.99.1:80 weight=1;
server 192.168.99.2:80 weight=2;
}
4炼列、ip_hash
每個(gè)請求會按照訪問ip的hash值分配只搁,這樣同一客戶端連續(xù)的Web請求都會被分發(fā)到同一server進(jìn)行處理,可以解決session的問題俭尖。如果server掛掉氢惋,能自動剔除。
upstream futest.com {
ip_hash;
server 192.168.99.1:80;
server 192.168.99.2:80;
}
ip_hash可以和weight結(jié)合使用稽犁。