Apache Httpd通过mod_jk连接多个Tomcat

时间:2021-12-10 14:03:33

一个tomcat可以配置多个web apps,这是众所周知的。当更改了一个web app,想要重新启动的时候,由于所有的web apps都是放在同一个tomcat下的,所以别的web apps也在重启tomcat的期间里停止运行。当有些web apps上线运行之后,有时候并不想也不需要暂停所有的web apps。其实只要把tomcat复制多个就可以了。主要是端口号的修改。另外再加上通过apache连接tomcat的配置。


先说一下,Tomcat的配置。

1.复制tomcat为tomcat_new

2.修改conf/server.xml的端口号:

   2.1 找到<Server port="xxxx“ shutdown="shutdown">这一行,把xxxx更改为和原tomcat不一样的端口,比如8015。

   2.2 找到protocol="AJP/1.3"所在的Connector,把端口号改为8019(原来的可能是8009)。

3.启动一下tomcat,看看有没有错误发生。


然后是Apache Httpd。

1.修改http.conf,利用Alias访问tomcat里的webapp。增加下列内容:

   Alias /newapp /usr/local/tomcat_new/webapps/newapp

   <IfModule mod_jk.c>
       JkMount /newapp/* newapp
   </IfModule>

2.根据需要增加下列内容,以保护app的内容:

   <Directory "/usr/local/tomcat_ab/webapps/chieruservice">
       Options FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from all
   </Directory>
   <Location "/chieruservice/WEB-INF/">
       deny from all
   </Location>

3.修改workers.properties:

   worker.list=ajp13, newapp

   增加下列内容:

   worker.newapp.port=8019
   worker.newapp.host=localhost
   worker.newapp.type=ajp13
   worker.newapp.lbfactor=50

4.httpd reload或者restart,就可以通过http://youhost/newapp/"""来看看效果了。