三、Apache Proxy负载均衡发布器的安装配置:
1Apache发布器使用系统自带的httpd服务,在安装操作系统的时候先选择好服务器下面的web服务器组件。
2、修改配置web发布服务的参数文件:
   # cd /etc/httpd/conf/
   # vim httpd.conf (在最底下添加如下内容)
----> ServerName localhost:80      (发布的端口说明)
<VirtualHost *:80>
ServerAdmin admin@china1168.com
ServerName localhost 
ServerAlias localhost  
<proxy balancer://testcluster>    (“testcluster”可自己命名,没什么特别的意义)BalancerMember  ajp://192.168.0.101:8011  loadfactor=1  route=tomcat1 要与tomcat1中的ajp对应BalancerMember  ajp://192.168.0.101:8012  loadfactor=1  route=tomcat2要与tomcat2中的ajp对应BalancerMember  ajp://192.168.0.102:8013  loadfactor=1  route=tomcat3要与tomcat3中的ajp对应BalancerMember  ajp://192.168.0.104:8014  loadfactor=1  route=tomcat4要与tomcat4中的ajp对应
</proxy>
ProxyRequests Off
ProxyPass /server-status ! 
ProxyPass /balancer-manager !
ProxyPass  / balancer://testcluster/  stickysession=JSESSIONID 注意balancer前面有空格
ProxyPa***everse  /  balancer://testcluster/    (注意balancer前面有空格
</VirtualHost>
<Location /server-status>   (负载均衡服务器的状态查询,http://192.168.0.100/server-status
SetHandler server-status
</Location>
<Location /balancer-manager> (负载均衡服务器的管理查看,http://192.168.0.100/balancer-manager
SetHandler balancer-manager
</Location>
 
3、负载均衡集群测试实例:
1)在tomcat目录下面的webapps文件夹中新建test测试文件:
# mkdir webapps/test
# vi index.jsp (文件内容如下)
?<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
request.setCharacterEncoding("UTF-8");
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
  out.println("<br> ID " + session.getId()+"<br>");  // 如果有新的 Session 属性设置
  String dataName = request.getParameter("dataName");
  if (dataName != null && dataName.length() > 0) {
     String dataValue = request.getParameter("dataValue");
     session.setAttribute(dataName, dataValue);
  }  out.print("<b>Session 列表</b>");  Enumeration e = session.getAttributeNames();
  while (e.hasMoreElements()) {
     String name = (String)e.nextElement();
     String value = session.getAttribute(name).toString();
     out.println( name + " = " + value+"<br>");
         System.out.println( name + " = " + value);
   }
%>
  <form action="index.jsp" method="POST">
    名称:<input type=text size=20 name="dataName">
     <br>
    :<input type=text size=20 name="dataValue">
     <br>
    <input type=submit>
   </form>
</body>
</html>
 
2)对Apache负载均衡进行测试:
 
登录测试首页 http://192.168.0.100/test/index.jsp
 
登录管理界面:http://192.168.0.100/balancer-manager   可查看“Elected”的选中状态
 
登录状态界面:http://192.168.0.100/server-status
 
同时查看各个tomcat的日志文件,看看上面提交的测试内容是在哪个tomcat中显示出来
# tail -f /usr/local/tomcat1/logs/catalina.out
# tail -f /usr/local/tomcat2/logs/catalina.out
# tail -f /usr/local/tomcat3/logs/catalina.out
# tail -f /usr/local/tomcat4/logs/catalina.out
正常情况下,提交的测试内容会在四个tomcat之间轮循显示,实现负载均衡。
 
4、设置Apache发布服务开机自启动
   # chkconfig httpd on
 
 
四、Nginx负载均衡发布器的安装配置:
1、安装前必须要先下载相关联的配套软件包:
1 pcre套件包下载:   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/   (一定要先安装)
2 nginx最新版下载:  http://www.nginx.org/en/download.html  (一定要安装)
3 openssl套件包下载:http://www.openssl.org/source/       (可选安装)
 
2、相关联软件的安装
1pcre套件的安装,进入下载目录,进行解压缩:
# cd /tools
# tar zxvf  pcre-8.12.tar.gz
# cd pcre-8.12
# ./configure   (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install  (进行make编译并安装)
 
2openssl套件的安装,进入下载目录,进行解压缩:(可选
# cd /tools
# tar zxvf  openssl-1.0.0d.tar.gz
# cd openssl-1.0.0d
# ./configure   (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install  (进行make编译并安装)
3Nginx软件的安装和配置
1nginx套件的安装,进入下载目录,进行解压缩:
# cd /tools
# tar zxvf  nginx-1.0.0.tar.gz
# cd nginx-1.0.0
# ./configure   (默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)
# make && make install  (进行make编译并安装)
 
2)测试安装是否成功:
     # cd /usr/local/nginx/sbin/
     # ./nginx -t   (如果提示下面的oksuccessful成功的话,说明安装成功了)
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
 
3)进行负载均衡站点的配置:
     # cd /usr/local/nginx/conf/
     # vi nginx.conf   (修改增加下面的内容)
         #pid        logs/nginx.pid;              ------- 在第9行左右去掉前面的#”注释号
 
 (新增)upstream tomcat {                      ------- 负载均衡站点的名称为tomcat,可以自己取
         ip_hash;  (可选,根据来源IP方式选择web服务器,省略的话按默认的轮循方式选择web服务器)
         server 192.168.0.101:81;               ------- web服务器的IP地址及tomcat1发布端口
         server 192.168.0.101:82;               ------- web服务器的IP地址及tomcat2发布端口
         server 192.168.0.102:83;               ------- web服务器的IP地址及tomcat3发布端口
         server 192.168.0.102:84;               ------- web服务器的IP地址及tomcat4发布端口
         }
         server {
          listen       80;                      ------- 本机负载均衡的发布端口80
          server_name  localhost;               ------- 本机服务器名称
 
location / {
            root   html;
            index  index.html index.htm;
(新增) proxy_pass http://tomcat;               ------- 负载均衡指向的发布服务tomcat
         }
注意:“upstream”部分要放在“server { listen  80 这部分的前面,不能放到下面去,不然会出错
     proxy_pass”部分要放在localtion这部分的括号里面,且http://后面跟的名称要与上面upstream中一样
 
4)启动负载均衡服务:
# cd /usr/local/nginx/sbin/
# ./nginx  -t  (测试配置有无错误)
# ./nginx      (启动服务)
  
# netstat -tlnp | grep :80  (查看nginx端口的进程号)
# kill -9 11274       (杀死nginx的主进程,11274是上面查询出来的主进程号,实际环境中不一定一样)
5)在线修改配置参数(在nginx启动的情况),并让它重新加载,其间nginx不用停止服务
# vi nginx.conf
# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`(注意cat命令两边必须要有撇号,不是单引号)
 
6)设置Nginx开机自动启动:
# cd /etc/rc.d/init.d/
 
# vi nginx
----> 增加内容  #chkconfig:35 80 10
                #description:Nginx server
                /usr/local/nginx/sbin/nginx
 
# chmod a+x nginx     (授予可执行的权限)
# chkconfig --add nginx
# chkconfig nginx on