公司兩台服務器都安裝了tomcat,配置apache作為負載均衡,當一台服務器出現故障時還能保證業務正常運行。
Server1:192.168.1.100
Server2:192.168.1.200
1、查詢是否已經安裝了apache
rpm -qa | grep httpd
2、使用yum安裝apache,負載配置是一樣的。
yum -y install httpd*
3、啟動apache,設置為開機自啟動。
systemctl start httpd
systemctl enable httpd
4、配置負載均衡
loadfactor參數:可以看到請求是按5:5分配的,loadfactor 參數取值范圍為1-100。
route參數:訪問時可以分清楚是請求的哪一台服務器
vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName www.ht.com
ProxyRequests Off
#設置使用進入的HTTP請求頭來發送代理請求
ProxyPreserveHost On
ProxyPass / balancer://htcluster/
ProxyPassReverse / balancer://htcluster/
ErrorLog "/var/log/httpd/htlog/error.log"
CustomLog "/var/log/httpd/htlog/access.log" common
<Proxy balancer://htcluster>
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
BalancerMember http://192.168.1.100:9000/ route=assets1 loadfactor=5 connectiontimeout=5 timeout=5
BalancerMember http://192.168.1.200:9000/ route=assets2 loadfactor=5 connectiontimeout=5 timeout=5
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>
</VirtualHost>
5、重啟apache,訪問測試
systemctl restart httpd
訪問是否達到負載均衡。
谷歌訪問:
獵豹訪問:
使用兩個瀏覽器訪問查看route兩個不一樣,負載均衡完成。