Apache httpd + tomcat 简单集群负载均衡配置
配置环境
- httpd-2.4.25-win64-VC14.zip
下载地址:http://www.apachelounge.com/download/
- apache-tomcat-6.0.48-windows-x64.zip
下载地址:http://tomcat.apache.org/download-60.cgi
- mod_jk-1.2.42-win64-VC14.zip
下载地址:http://www.apachelounge.com/download/
配置步骤
- 使用集群,确定web.xml中一定要有
2. 对Tomcat进行配置,conf/server.xml
2.1 如果单机启动多个Tomcat。避免端口冲突,尽量配置每个Tomcat端口不一样。
2.2 修改Engine 节点,添加jvmRoute属性。值和apache httpd mod_jk 中的worker名字对应,必须样一样!
2.3 server.xml文件中找到被注释掉的
(摘自: 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
3.1 Zip版httpd安装
3.1.1 解压httpd-2.4.25-win64-VC14.zip到某个目录。
3.1.2 修改Apache24/conf/httpd.conf文件。
a. 配置ServerRoot参数:
ServerRoot "E:/My-Resources/Apache/httpd-2.4.25-win64-VC14/Apache24"
b. 配置Listen参数
Listen 192.168.10.152:1314
c. 配置ServerName参数
ServerName 192.168.10.152:1314
d. Directory添加 allow from all值
|
AllowOverride none Require all denied allow from all |
e. 配置DocumentRoot参数
|
DocumentRoot"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 |
f. 测试Apache服务是否成功
1. dos命令安装httpd服务;httpd.exe -k install -n Apache
2. 启动httpd服务;浏览器访问:
3. 成功配置apache httpd。关闭apache服务。
4. Apache负载均衡配置
4.1 mod_jk配置
a. 解压mod_jk-1.2.42-win64-VC14.zip文件,把mod_jk.so放进Apache24\modules目录中.
b. 在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 |
4.2 在httpd.conf的最后添加一行,引入mod_jk.conf配置文件。
include conf/mod_jk.conf
4.3 分别启动Tomcat,然后启动httpd服务。浏览器地址访问 192.168.10.152:1314/share/
附录:
Dos命令启动服务: Httpd.exe -w -n “Apache” -k start
参考 :http://www.cnblogs.com/icenter/p/5328383.html
问题:
1,dos命令安装httpd服务;httpd.exe -k install -n Apache提示丢失dll文件。
解决办法:
下载vc++2015并安装 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
2,安装成功启动服务报错。
解决办法:
使用doc命令启动;
查看输入信息;检查httpd.conf文件。