• Apache2.2 + tomcat7 服务器集群配置


    1.软件安装

    1.1下载和安装apache

    Apache 2.2 :http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本

    1.2下载和安装tomcat7.0.37(略)

    2.Apache 配置

    2.1启动自动加载代理模块

    打开conf/httpd.conf去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块。

    LoadModule proxy_module modules/mod_proxy.so
    
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    
    LoadModule proxy_http_module modules/mod_proxy_http.so
    2.2增加index.jsp(可选)

    在下列节点中增加index.jsp,目的是能看到首页(conf/httpd.conf文件)

    <IfModule dir_module>
    
    DirectoryIndex index.html index.jsp
    
    </IfModule>
    2.3开启虚拟站点配置

    去掉Includeconf/extra/httpd-vhosts.conf前面的注释(conf/httpd.conf文件)

    2.4配置虚拟站点

    在conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上

    <VirtualHost *:80>
    
    ServerAdmin xxx@126.com
    
    ServerName localhost
    
    ServerAlias localhost
    
    ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
    
    ProxyPassReverse / balancer://cluster/
    
    ErrorLog "logs/thc-error.log"
    
    CustomLog "logs/thc-access.log" common
    
    </VirtualHost>

    说明:这里balancer://是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名(可以随意取),两个日志引擎ErrorLog负责记录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取。

    2.5配置代理

    回到httpd.conf,在文档最下面加上:

    ProxyRequests Off
    
    <proxy balancer://cluster>
    
    BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
    
    # 如果第二个Tomcat放在另一台电脑上那么就输入那台电脑的ip
    
    BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
    
    </proxy>

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

    重启Apache服务,如果此时访问http://localhost/将会返回503错误,打开刚才配置的错误日志logs/thc-error.log,可以看到错误原因是因为后台服务器没有响应,因为此时tomcat尚未配置和启动。

    3.Tomcat 配置

    解压出两个Tomcat,名字分别为:tomcat7_1,tomcat7_2。如果tomcat7_1和tomcat7_2不在同一台服务器上运行,对于端口就不需做改动。打开两个Tomcat中的server.xml文件

    3.1修改http端口

    找到

    <Connector port="8080" protocol="HTTP/1.1"
    
    connectionTimeout="20000"
    
    redirectPort="8443"/>

    在tomcat7_1中把8080改为7080,在tomcat7_2中把8080改为9080

    3.2修改AJP端口

    找到<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />

    这是tomcat接收从Apache过来的ajp连接请求时使用的端口,tomcat7_1保持不变,把tomcat7_2端口改为9009。注意,这里的端口对应Apache httpd.conf中BalancerMember中配置的ajp连接端口。

    3.3修改shutdown端口,将8005改成9005
    <Serverport="9005" shutdown="SHUTDOWN">
    3.4修改jvmRoute

    找到<Enginename="Catalina" defaultHost="localhost">

    Tomcat7_1修改为: <Engine name="Catalina" defaultHost="localhost"jvmRoute="jvm1">

    Tomcat7_2修改为: <Engine name="Catalina"defaultHost="localhost" jvmRoute="jvm2">

    这里的jvmRoute对应步骤3.5Apache httpd.conf中BalancerMember中配置的route参数。

    3.5共享Session

    找到<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,打开注释。

    这里的配置是为了可以在集群中的所有tomcat节点间共享会话(Session)。如果仅仅为了获得一个可用的tomcat集群,Cluster只需要这么配置就可以了

    3.6web.xml配置

    在每个需要session共享的web项目中,需要在web.xml中增加

    <distributable/>

    4.启动

    先启动apache服务

    再启动tomcat服务

    注意apache的网络监听端口和tomcat的不要相同

  • 相关阅读:
    Unix命令大全
    vs2008 与 IE8出现的兼容性问题
    Java 创建文件、文件夹以及临时文件
    如何修改Wamp中mysql默认空密码
    PAT 乙级真题 1003.数素数
    Tags support in htmlText flash as3
    DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
    10 Great iphone App Review sites to Promote your Apps!
    HTML tags in textfield
    Delphi XE4 IOS 开发, "No eligible applications were found“
  • 原文地址:https://www.cnblogs.com/tangyanbo/p/4282211.html
Copyright © 2020-2023  润新知