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
布置整个环境用到的软件为:
  1. apache-tomcat-6.0.20.tar.gz  
  2. jdk-6u16-linux-i586.bin  
  3. nginx-0.7.17.tar.gz  
  4. prce-7.7.tar.gz 
①首先分别在3台tomcat主机上布置java环境,安装tomcat,具体步骤为:
安装java环境:
  1. JDK的安装  
  2. #chmod +x jdk-6u16-linux-i586.bin  
  3. #./jdk-6u16-linux-i586.bin  
  4. 到此JDK已经安装完成  
  5. 建立符号链接  
  6. # ln -s /usr/local/jdk-1.6.0-16/bin/java /usr/bin/java  
  7. # ln -s /usr/local/jdk-1.6.0-16/bin/javac /usr/bin/javac  
  8. ln -s /usr/local/jdk-1.6.0-16 /usr/local/jdk  
  9. ln -s /usr/local/jdk-1.6.0-16/jre /usr/local/jre  
  10. TOMCAT的安装  
  11. #tar zxvf apache-tomcat-6.0.20.tar.gz  
  12. #mv apache-tomcat-6.0.20 /usr/local/tomcat 
设置环境变量: vim /etc/rc.d/rc.local,以追加的形式添加如下内容
  1. JAVA_HOME=/usr/local/jdk  
  2. export JAVA_HOME  
  3. JRE_HOME=/usr/local/jre  
  4. export JRE_HOME  
  5. CLASSPATH=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib  
  6. export CLASSPATH  
  7. PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin  
  8. export PATH  
  9. TOMCAT_HOME=/usr/local/tomcat  
  10. export TOMCAT_HOME  
  11. 重启服务器,启动tomcat以检查是否存在错误:  
  12. #cd /usr/local/tomcat/bin  
  13. #./startup.sh  
  14. http://IP地址:8080 可以看到猫头:)成功了。 3.通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
    1. #pidfile /var/run/haproxy-private.pid  
    2. defaults  
    3. log  global  
    4. mode http  
    5. optionhttplog  
    6. optiondontlognull  
    7. log 127.0.0.1 local3  
    8. retries 3  
    9. option redispatch  
    10. maxconn 2000  
    11. contimeout 5000  
    12. clitimeout 50000  
    13. srvtimeout 50000  
    14.  
    15. listen webfarm 0.0.0.0:80  
    16. mode http  
    17. stats uri /haproxy-stats  #监控haproxy状态  
    18. stats realm Haproxy\ statistics  
    19. stats auth netseek:52netseek#设置状态监控的用户名为netseek密码为52netseek  
    20. balance roundrobin  #负载均衡算法  
    21. cookie SERVERID insert indirect  
    22. option httpclose #  
    23. option forwardfor#apache日志转发功能  
    24. option httpchk HEAD /check.txt HTTP/1.0#健康检测  
    25. server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5  
    26. server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5  
    27. syslog.conf里加一行  
    28. local3.*/var/log/haproxy.log  
    29. # touch /var/log/haproxy.log  
    30. # chown haproxy:haproxy /var/log/haproxy.log  
    31. # chmod u+x /var/log/haproxy.log  
    32. # tail –f /var/log/harpoxy.log 监控日志  
    33. # ./haproxy -f haproxy.cfg 启动服务.  
    34. 监控状态图示http://192.168.169.137/haproxy-stats ,输入用户名密码查看状态。