2.另外还需要下载一个JK包,下载地址是 http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28,这里需要的版本是 mod_jk-1.2.28-httpd-2.2.3.so ,下载后将其复制到apache安装目录的modules文件夹下,可以不用改名。
3.在httpd.conf所在的目录下新建两个文件:mod_jk.conf、works.properties
在mod_jk.conf中写入
#加载mod_jk Module LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMount /*.jsp controller |
worker.list = controller,tomcat1,tomcat2 #server 列表 #========tomcat1======== #========tomcat2======== #========controller,负载均衡控制器======== |
4.在httpd.conf的最后一行引入上边配置的文件:Include conf/mod_jk.conf,注意此文件尽量不要使用绝对路径。
5.修改tomcat:如果多个tomcat不在同一台机器,则不用修改。否则保持第一个tomcat 的配置不变,只需在server.xml文件中改动 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">,指定jvmRoute,为了在works.properties中调用,修改其他的tomcat的配置,修改server.xml文件的<Server port="8005" shutdown="SHUTDOWN">的端口号,为了使多个tomcat同时启动;修改<Engine name="Catalina" defaultHost="localhost" >为<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">,并修改 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />AJP的端口号。
6到这基本上已经配置完了,在多个tomcat中部署同一个应用测试下效果,如果文件较大,访问数较多后就会发现tomcat是轮流执行,并关掉其他tomcat后在只保留一个的情况下同样能够正常访问,实现在负载均衡和容错机制。
问题:
1.apache怎么知道tomcat 的位置?在works.properties中并没有指定tomcat 所在的位置,他是通过什么找到tomcat的?
2.AJP?
3.关于tomcat的集群配置问题随后补上