Nginx負載均衡器的優點許多,簡單概括爲:
①實現了可彈性化的架構,在壓力增大的時候可以臨時添加tomcat服務器添加到這個架構裏面去;
②upstream具有負載均衡能力,可以自動判斷下面的機器,並且自動踢出不能正常提供服務的機器;而Keepalvied可保證單個nginx負載均衡器的有效性,避免單點故障.
IP地址
nginx(主負載均衡器):192.168.1.106
nginx(從負載均衡器):192.168.1.107
VIP地址:192.168.1.108
tomcat1的IP:192.168.1.102
tomcat2的IP:192.168.1.103
tomcat3的IP:192.168.1.105
佈置整個環境用到的軟件爲:
- apache-tomcat-6.0.20.tar.gz
- jdk-6u16-linux-i586.bin
- nginx-0.7.17.tar.gz
- prce-7.7.tar.gz
①首先分別在3臺tomcat主機上佈置java環境,安裝tomcat,具體步驟爲:
安裝java環境:
- JDK的安裝
- #chmod +x jdk-6u16-linux-i586.bin
- #./jdk-6u16-linux-i586.bin
- 到此JDK已經安裝完成
- 建立符號鏈接
- # ln -s /usr/local/jdk-1.6.0-16/bin/java /usr/bin/java
- # ln -s /usr/local/jdk-1.6.0-16/bin/javac /usr/bin/javac
- ln -s /usr/local/jdk-1.6.0-16 /usr/local/jdk
- ln -s /usr/local/jdk-1.6.0-16/jre /usr/local/jre
- TOMCAT的安裝
- #tar zxvf apache-tomcat-6.0.20.tar.gz
- #mv apache-tomcat-6.0.20 /usr/local/tomcat
設置環境變量: vim /etc/rc.d/rc.local,以追加的形式添加如下內容
- JAVA_HOME=/usr/local/jdk
- export JAVA_HOME
- JRE_HOME=/usr/local/jre
- export JRE_HOME
- CLASSPATH=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib
- export CLASSPATH
- PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin
- export PATH
- TOMCAT_HOME=/usr/local/tomcat
- export TOMCAT_HOME
- 重啓服務器,啓動tomcat以檢查是否存在錯誤:
- #cd /usr/local/tomcat/bin
- #./startup.sh
- http://IP地址:8080 可以看到貓頭:)成功了。 3.通過nbproc多設置幾個haproxy併發進程,這樣每個進程的task_queue相對就會短很多,性能自然就能提高不少
- #pidfile /var/run/haproxy-private.pid
- defaults
- log global
- mode http
- optionhttplog
- optiondontlognull
- log 127.0.0.1 local3
- retries 3
- option redispatch
- maxconn 2000
- contimeout 5000
- clitimeout 50000
- srvtimeout 50000
- listen webfarm 0.0.0.0:80
- mode http
- stats uri /haproxy-stats #監控haproxy狀態
- stats realm Haproxy\ statistics
- stats auth netseek:52netseek#設置狀態監控的用戶名爲netseek密碼爲52netseek
- balance roundrobin #負載均衡算法
- cookie SERVERID insert indirect
- option httpclose #
- option forwardfor#apache日誌轉發功能
- option httpchk HEAD /check.txt HTTP/1.0#健康檢測
- server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
- server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5
- syslog.conf里加一行
- local3.*/var/log/haproxy.log
- # touch /var/log/haproxy.log
- # chown haproxy:haproxy /var/log/haproxy.log
- # chmod u+x /var/log/haproxy.log
- # tail –f /var/log/harpoxy.log 監控日誌
- # ./haproxy -f haproxy.cfg 啓動服務.
- 監控狀態圖示http://192.168.169.137/haproxy-stats ,輸入用戶名密碼查看狀態。