1 软件环境 1.1 Windows64位操做系统。 1.2 Apache Http Server 2.4.25 Windows 64位版本 1.3 Tomcat 7 64位版本。 1.4 Apache mod_jk.so Windows 64位版本。 2 软件安装配置 2.1 Apache Http Server&mod_jk配置。 解压软件包。 在apache安装目录下conf目录中找到http.conf,找到配置中的根路径参数,进行修改,SRVROOT后面的值修改成apache的安装路径或者其余你想要的设置的路径。css
Define SRVROOT "D:/workgroup/tomcats/apache/Apache24" ServerRoot "${SRVROOT}"
监听端口Listen 修改成你想要的端口,默认80,后期访问系统使用。保证端口未被占用。 将mod_jk.so拷贝到Apache安装路径的modules文件夹下 在apache安装目录下conf目录中找到http.conf,在文件最后加上 include conf/mod_jk.conf
http.conf 同目录下新建mod_jk.conf文件,添加内容以下:html
#指定模块路径 LoadModule jk_module modules/mod_jk.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定哪些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名 JkMount /* controller #指定jk的日志输出文件 JkLogFile logs/mod_jk.log #指定日志级别,我这里设置的警告 JkLogLevel warn #包含标准的mod_jk行为 (默认) #info #包含错误信息 #error #用来配置log文件的日期/时间格式. 使用strftime()的格式化字符串,默认是[%a %b %d %H:%M:%S %Y] JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" #Options Description(选项的说明) # %b 发送的字节, 不包括 HTTP headers (CLF format) # %B 发送的字节, 不包括 HTTP headers # %H 协议 # %m 请求方式(get/post) # %p 服务器响应请求的规范端口. # %q 查询字符串 (若是存在以?开头,不然是空串) # %r 请求的第一行. # %s HTTP状态码 # %T 请求间隔, 处理请求耗费的时间 秒.微秒 # %U 请求的url路径,不包含查询字符串. # %v 响应请求的规范服务器名字 # %V 根据UseCanonicalName设置的服务器名字. # %w Tomcat worker 名字 #JkRequestLogFormat 设置我的用户请求的log格式. JkRequestLogFormat "%w %V %T"
在http.conf同目录下新建 workers.properties文件,内容以下:web
#这里能够配置任意多个Tomcat,此处配置了2个Tomat服务器. #host和port根据本身实际配置.实例配置的是本机两个tomcat,分别使用不一样的端口.避免冲突 #若是Tomcat再也不同一机器上,不必改端口的。 #server 列表 worker.list=controller,status,tomcat1,tomcat2 #========tomcat1======== worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=127.0.0.1 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=1 #server的加权比重,值越高,分得的请求越多 #========tomcat2======== worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=127.0.0.1 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=2 #server的加权比重,值越高,分得的请求越多 #========controller,负载均衡控制器======== worker.controller.type=lb #指定此负载平衡器负责的Tomcat应用节点。 worker.controller.balance_workers=tomcat1,tomcat2 #指定分担请求的tomcat #此处指定集群是否须要会话复制,若是设为true,则代表为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台 #Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;若是设为false,则代表需求会话复制。 worker.controller.sticky_session=false #描述是用于httpd自身状态监控的status worker.status.type=status
使用Windows命令行以管理员身份进入Apache程序的文件夹下的bin文件夹,输入httpd -k install,完成Apache服务的安装。 而后双击bin目录下的ApacheMonitor.exe,点击右边的start启动服务器,若是正常,以下图: 若启动失败,经过查看Windows日志解决 右键 计算机,点击管理->系统工具->时间查看器->Windows日志->应用程序,显示以下:
2.2 Tomcat 配置。 修改集群下的每一个Tomcat的Server.xml文件 一、定义一个AJP 1.3 同一主机上的tomcat,各个链接端口不能相同(多个主机之间不限制),默认值为8009。apache
<Connector port="8009 " protocol="AJP/1.3" redirectPort="8443" />
二、增长jvmRoute的值,保证同workers.properties里边配置的节点值一致。tomcat
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
三、开启集群配置。服务器
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.ha.mcast.McastService" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.ha.tcp.ReplicationListener" tcpListenAddress="auto" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> <Sender className="org.apache.catalina.ha.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000" waitForAck="true"/> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
2.3 集群环境实现session共享配置 在集群中的每一个项目的web.xml中增长以下代码:session
<distributable/>
须要注意的是,这样作之后存入session的对象必须为序列化的对象。 http://blog.csdn.net/bingge1022/article/details/73277201负载均衡