Apache2.4+Tomcat 集群配置 详细步骤解析

Apache2.4+Tomcat 集群配置;
1.Apache2.4下载
链接:https://pan.baidu.com/s/1LALJEkFQvHXIixzOR0jL2Q 密码:8oua
2.mod_jk.so下载
链接:https://pan.baidu.com/s/13R4mrjSFjBBlLPuuOjK1Xw 密码:bjbg
解压后放到

Apache24/modules/


3.准备个Tomcat 什么版本都可以
4.windowServer2008服务器或者本地解压Apache2.4文件;
a.找到路径为 \Apache24\conf\httpd.conf 的Apache配置文件 ;
b.找到以下配置项

    Define SRVROOT "D:/xxxx/Apache24"
    ServerRoot "${SRVROOT}"
修改上部分带“”部分的路径为你真实的解压路径;
c.`Listen 9999`
监听端口号(9999、8888、可随意更换,最终访问端口为该端口号)
d.将注释".so"文件打开:
mod_proxy ,  mod_proxy_balancer ,  lbmethod_****_module(相像的都打开),     slotmem_shm_module ,  mod_proxy_ajp
e.在配置文件末尾增加以下代码,控制编码集以及增加mod_jk.so的
AddDefaultCharset GB2312
include conf/mod_jk.conf

ExtendedStatus On

5.conf文件夹下新增文本文档,重命名并更改 扩展名为mod_jk.conf
按照如下配置

#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
#JkLogFile logs/mod_jk_cluster.log
#JkLogFile "|rotatelogs -l D:/1_shy/Apache24/logs/mod_jk_cluster_%Y_%m_%d.log 86400"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat "%w %V %T"
JkMount /* controller
JkUnMount /awstats/* controller
JkUnMount /awstatsicons/* controller
JkMount /status jkstatus
HostnameLookups Off 

6.创建workers.properties文件

worker.list = controller,jkstatus  #server 列表

#========tomcat1========
worker.gtshy1.port=9309  #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.gtshy1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址
worker.gtshy1.type=ajp13
worker.gtshy1.lbfactor = 1   #server的加权比重,值越高,分得的请求越多
worker.gtshy1.socket_timeout =60

#========tomcat2========
worker.gtshy2.port=9409    #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.gtshy2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址
worker.gtshy2.type=ajp13
worker.gtshy2.lbfactor = 1   #server的加权比重,值越高,分得的请求越多
worker.gtshy2.socket_timeout =60

#========tomcat3========
worker.gtshy3.port=9509    #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.gtshy3.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址
worker.gtshy3.type=ajp13
worker.gtshy3.lbfactor = 1   #server的加权比重,值越高,分得的请求越多
worker.gtshy3.socket_timeout =60

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=gtshy1,gtshy2,gtshy3   #指定分担请求的tomcat
worker.controller.sticky_session=True

worker.jkstatus.type=status

7.这里我准备了3个tomcat
a.修改catlina.bat文件
set TITLE=xxxxxx1/xxxxxx2/xxxxxx3 区别开3个tomcat
b.修改server.xml
1)以下是3个需要修改的端口号

```
①<Server port="9305" shutdown="SHUTDOWN">

②<Connector port="9380" protocol="HTTP/1.1"
               connectionTimeout="20000"
               encodingURI="utf-8"
               redirectPort="8443" executor="tomcatThreadPool" acceptCount="50"  enableLookups="false" />

③     <Connector URIEncoding="UTF-8" port="9309" protocol="AJP/1.3" redirectPort="8443"
               connectionTimeout="20000" 
               executor="tomcatThreadPool" 
               acceptCount="50" 
               enableLookups="false"  />
```

tomcat2 更换所有93 为94 ;tomcat3更换所有93为95;
需要保证端口号不会冲突;

2)找到

```
Engine name="Catalina" defaultHost="localhost"
```
做如下修改

```
<Engine name="Catalina" defaultHost="localhost" jvmRoute="gtshy1">
```
tomcat2 为 jvmRoute="gtshy2" tomcat3 为 jvmRoute="gtshy3"
3)在<Engine>节点下的 <Host>节点下增加

```
<Context path="项目名称" docBase="D:\1xxxxxx\项目名称" debug="0" reloadable="false"></Context>

```
添加这个的目的是不用每个Tomcat的Webapps下都放项目;

8.修改项目工程的web.xml
需要在集群下运行的项目的web.xml文件结束标志/web-app前中加入

<distributable/>

9.进入apache安装路径下的bin,打开cmd
复制apache安装路径下的bin路径
这里写图片描述
继续输入
httpd -k install
查看是否报错
如有报错需要
httpd -k uninstall
解决错误后再次
httpd -k install
弹出这句话Errors reported here must be corrected before the service can
be started,并不是error,而是提示:如果这行下边出现错误则解决错误后再启动!其实就是表示已经启动成功了;
10.最后创建个.bat

cd D:\1_xxx\tomcat-7.0.39-xxx1\bin\

start /b D:\1_xxx\tomcat-7.0.39-xxx1\bin\startup.bat

cd D:\1_xxx\tomcat-7.0.39-xxx2\bin\

start /b D:\1_xxx\tomcat-7.0.39-xxx2\bin\startup.bat

cd D:\1_xxx\tomcat-7.0.39-xxx3\bin\

start /b D:\1_xxx\tomcat-7.0.39-xxx3\bin\startup.bat

net stop Apache2.4

net start Apache2.4

exit

exit

quit

猜你喜欢

转载自blog.csdn.net/Zyj8421/article/details/82584767