Tomcat集羣Nginx負載均衡配置筆記

電商項目中Tomcat集羣配置帶來的主要問題:
1.session登錄信息存取問題
2.服務器定時任務併發問題

解決方案:
1.nginx hash ip
優點:不改變現有架構,直接橫向擴展
缺點:分配不平均、IP變化無法服務

2.nginx負載均衡 + session server+分佈式鎖

單機部署多應用
1.在/etc/profile 配置多個Tomcat環境變量
2.第一個tomcat不變,在第二個tomcat的bin目錄下打開catalina.sh,給catalina_base 和 Catalina——home重新賦值成系統變量
3.打開${tomcat}/conf/server.xml 修改三個端口號8005、訪問8080、AJP/1.3 8009,默認增加1000,注意避免衝突
4.啓動

多機部署多應用
如果一個機器部署一個tomcat實例,不需要修改端口號,多個服務器部署要保證網絡互通,Nginx可以安裝在任意一臺機器,也可獨立出來。

Nginx負載均衡常用策略
1.輪詢(默認)
優點:實現簡單 缺點:不考慮服務器處理能力

upstream www.lmall.com{
server www.lmall.com:8080;
server www.lmall.com:9080;
}

2.權重
優點:考慮了每臺處理器能力不同
upstream www.lmall.com{
server www.lmall.com:8080 weight = 15;
server www.lmall.com:9080 weight = 10;
}

weight不配置默認爲1,多個配置權重的節點比較,比較的是相對值,如15:10,表示的是概率

3.ip hash
優點:同一用戶訪問同一服務器
缺點:分配不平均
upstream www.lmall.com{
ip_hash;
server www.lmall.com:8080;
server www.lmall.com:9080;
}

4.url hash 第三方
優點:同一服務訪問同一服務器
缺點:不平均
upstream www.lmall.com{
server www.lmall.com:8080;
server www.lmall.com:9080;
hash $request_uri;
}
需要第三方插件

5.fair 第三方
按後端服務器響應時間分配,時間短優先
upstream www.lmall.com{
server www.lmall.com:8080;
server www.lmall.com:9080;
fair;
}

**負載均衡參數及擴展點 **
upstream www.lmall.com{
ip_hash;
server www.lmall.com:8080 down; 暫時不參與負載
server www.lmall.com:9080 backup;其他所有非backup機器down或忙時請求backup
}

集羣搭建

  • 啓動tomcat服務

  • 替換Tomcat2Logo (方便區分)
    ${tomcat2}/webapps/ROOT/tomcat.png (如果部署過項目可能找不到,此爲新安裝的默認路徑)

  • 修改瀏覽器所在機器 /etc/hosts host 127.0.0.1 www.lmall.com

  • 驗證host ping www.lmall.com,清除瀏覽器緩存、重啓

  • 啓動Nginx(默認端口80)

  • vim ${nginx}/conf/nginx.conf 在http節點下增加include vhost/*.conf; 分開域名的配置文件、增加tomcat集羣負載均衡的配置

  • 創建vhost/www.lmall.com.conf文件

  • ${nginx}/sbin/ sudo ./nginx -s reload

www.lmall.com.conf文件配置
autoindex - 如果使用文件夾轉發,會自動生成索引
index 訪問首頁優先級

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章