hb120973135 发表于 2018-11-25 11:31:35

apache和tomcat负载均衡

一.安装jdk
1.# tar -zxvf jdk-7u3-linux-i586.tar.gz -C /usr/local/
   # mv /usr/local/jdk1.7.0_03 /usr/loal/jdk
   # ln -s /usr/local/jdk/bin/java /usr/bin/java
   # ln -s /usr/local/jdk/bin/javac /usr/bin/javac
到这里,java已经安装好了,下面的是验证java了,如果出现了java的版本号,就证明安装成功了
   # java –version
   会出现:
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)
证明成功,如果没有,会报下面的错误:
Error: failed /usr/local/jdk/jre/lib/i386/client/libjvm.so, because /usr/local/jdk/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied
你关闭Selinux就好了,不然,你就需要该标签,如下:
# chcon -t textrel_shlib_t /usr/local/jdk/jre/lib/i386/client/libjvm.so

# ln -s /usr/local/jdk/jre /usr/local/jre

2.设置环境变量
# vim /etc/profile
在最后添加如下内容:
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
JRE_HOME=/usr/local/jre
export JRE_HOME

# source /etc/profile------>使环境变量生效

二.安装apache
1.# tar -zxvf httpd-2.2.23.tar.gz
    # cd httpd-2.2.23
    # ./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared-all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite
    注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。
#make;make install

    # make
    # make install

2.修改apache的配置文件
    # vim /usr/local/apache/conf/httpd.conf
    在index.html后面添加index.jsp,如下:


    DirectoryIndex index.html index.jsp


    找到#Include conf/extra/httpd-vhosts.conf,将前面的注释符#去掉。

    然后再最下面添加如下信息:
ProxyRequests Off

BalancerMember ajp://192.168.20.81:8009 loadfactor=2 route=jvm1
BalancerMember ajp://192.168.20.153:8009 loadfactor=2 route=jvm2

**********************************************************************************
注释:ProxyRequests Off 是告诉Apache需要使用反向代理(利用Apache进行负载均衡必须使用反向代理;
      这里的"cluster"必须与上面的集群名保持一致。Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口。loadfactor是负载因子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都是1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发。route参数对应后续tomcat配置中的引擎路径(jvmRoute)
**********************************************************************************

3.修改apache虚拟机配置文件
   该文件所在路径为:/usr/local/apache/conf/extra/httpd-vhosts.conf
将文件中以下内容注释掉:

#
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot "/usr/local/apache/docs/dummy-host.example.com"
#    ServerName dummy-host.example.com
#    ServerAlias www.dummy-host.example.com
#    ErrorLog "logs/dummy-host.example.com-error_log"
#    CustomLog "logs/dummy-host.example.com-access_log" common
#

#
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
#

在文件末尾添加以下内容并保存:

    ServerAdmin zhangheng@juwangnet.com
    ServerName localhost       -->这里可以写ip,我是写成ip的
    ServerAlias localhost      -->这是这个虚拟机的别名
    ProxyPass / balancer://RHEL5-1/ stickysession=jsessionid nofailover=On
    ProxyPa***everse / balancer://RHEL5-1/


   4.修改httpd-info.conf配置文件,这个配置文件就是打开通过web查看一些apache的状态值的功能
    # vim httpd-info.conf
    在最后添加如下内容

SetHandler balancer-manager
    Order deny,allow
    Allow from all


    然后,将httpd-info.conf配置文件中的所有Deny from all的改成Allow from all
    最后取消ExtendedStatus On的注释


三. 安装第一台tomcat
1.# tar -zxvf apache-tomcat-7.0.26.tar.gz -C /usr/local/
   # mv /usr/local/apache-tomcat-7.0.26 /usr/local/tomcat
   #cd /usr/local/tomcat/bin/

2.修改tomcat的配置文件
   # vim server.xml
    修改内容如下:

   将这一句话改成
   注释:这里的jvmRoute的值必须对应于httpd.conf文件中最末添加的route的值。

   下面配置Connector的端口,找到non-SSL HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,保留tomcat1默认配置,在8080端口侦听,而把tomcat2设置为在9080端口侦听,如果tomcat1和tomcat2不在同一台机器上,就不用改

   往下找到AJP 1.3 Connector,,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,默认是9009;注意,这里的端口对应Apache httpd.conf中BalancerMember中配置的ajp连接端口。

    配置引擎:
   将这一句话改成
   注释:这里的jvmRoute的值必须对应于httpd.conf文件中最末添加的route的值。
   
   接着在修改的这一行下添加以下内容并保存:
   这些内容具体什么作用,可以看官网,我也不是太清楚!!!!不加这段,一个达到负载均衡的效果!下面的这些配置可以解决session问题哦!!!
    -
      
    -
      
      
    -
      
      
      
      
      
      
      
      
      
      
      
   

   到这里,我的第一台tomcat部署完了,

四.安装第二个tomcat
   1.只需将上面的tomcat目录复制一下,另起一个名字,就好了!
   2.然后,我们就需要修改这个tomcat的配置文件了,如果两个tomcat在同一台机器上,就需要修改第二台tomcat的所有端口号,让它与第一台tomcat的端口不同

   
       端口由8005改为9005,取值随意,不冲突就行。
   
       端口由8080改为9080,取值随意。
   
       端口由8009改为9009,此端口号須与httpd.conf文件中ajp://127.0.0.1:9009的端口一致。
   
       jvmRoute的值应与httpd.conf文件中的第二条route值一致。
   
       端口由4000改为4001,此处端口取值范围在4000~4100,只要与其他tomcat不冲突即可。

    我这里是将这台tomcat放在另一台机器上了,所有,不需要修改tomcat的那些端口了,只需要修改,如下:
   
   











页: [1]
查看完整版本: apache和tomcat负载均衡