三、Apache Proxy负载均衡发布器的安装配置:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1 Apache发布器使用系统自带的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-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.0.0d.tar.gz

# cd openssl-1.0.0d

# ./configure    ( 默认是安装在/usr/local/目录下面,也可指定目录加参数 --prefix=/usr/local/)

# make && make install   (进行make编译并安装)

3 Nginx软件的安装和配置

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