Apache httpd + tomcat 简单集群负载均衡配置
作者:互联网
目录
1. 使用集群,确保
2. 对
2. 修改配置文件
环境
Test on alfresco projects
httpd-2.4.25-win64-VC14.zip
apache-tomcat-6.0.48-windows-x64.zip
mod_jk-1.2.42-win64-VC14.zip
步骤
1. 使用集群,确保web.xml
中一定要有<distributable/>
2. 对Tomcat的server.xml文件
进行配置
- 如果单机启动多个Tomcat。避免端口冲突,尽量配置每个Tomcat端口不一样
- 修改Engine 节点,添加jvmRoute属性。值和apache httpd mod_jk 中的worker名字对应,必须样一样
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
......
</Engine>
server.xml
文件中找到被注释掉的<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
在注释行的下面添加如下代码
摘自:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<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.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
3. 配置Apache httpd
1. 解压httpd-2.4.25-win64-VC14.zip
2. 修改配置文件Apache24/conf/httpd.conf
- 配置ServerRoot
ServerRoot "E:/My-Resources/Apache/httpd-2.4.25-win64-VC14/Apache24"
- 配置Listen
Listen 192.168.10.152:1314
- 配置ServerName
ServerName 192.168.10.152:1314
- Directory添加
allow from all
值
<Directory />
AllowOverride none
Require all denied
allow from all
</Directory>
- 配置DocumentRoot
DocumentRoot"E:/My-Resources/Apache/httpd-2.4.25-win64-VC14/Apache24/htdocs"
<Directory "E:/My-Resources/Apache/httpd-2.4.25-win64-VC14/Apache24/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
3. 安装Apache httpd服务
- dos命令安装
httpd.exe -k install -n Apache
- 启动服务,浏览器访问测试
- httpd安装成功,关闭服务
4. 负载均衡配置
mod_jk配置
- 解压
mod_jk-1.2.42-win64-VC14.zip
文件,把mod_jk.so
放进Apache24\modules
目录中 - 在
Apache24/conf
目录下新建mod_jk.conf
,workers.properties
文件
mod_jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /* controller
JkMount /jkstatus status
Workers.properties
worker.list=controller,status
worker.maintain=60
#========tomcat1========
worker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.10.39
worker.tomcat1.port=8017
worker.tomcat1.lbfactor=1
#========tomcat2========
worker.tomcat2.type=ajp13
worker.tomcat2.host=192.168.10.44
worker.tomcat2.port=8009
worker.tomcat2.lbfactor=1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
worker.controller.sticky_session=true
#worker.controller.sticky_session_force=1
worker.status.type=status
- 在httpd.conf的最后添加一行,引入mod_jk.conf配置文件
include conf/mod_jk.conf
分别启动Tomcat,然后启动httpd服务。浏览器地址访问 192.168.10.152:1314/share
附录
Dos命令启动Apache服务: Httpd.exe -w -n “Apache” -k start
参考 :http://www.cnblogs.com/icenter/p/5328383.html
问题
- dos命令安装httpd服务;httpd.exe -k install -n Apache提示丢失dll文件
解决办法: 下载vc++2015并安装 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
- 安装成功启动服务报错
解决办法: 使用doc命令启动httpd.exe
通过输出信息,检查配置文件定位问题
标签:httpd,tomcat,worker,conf,jk,Apache,mod 来源: https://www.cnblogs.com/meideprac/p/16666795.html