我维护一个包含3个jsf2-web应用程序的web服务器,目前部署在tomcat7上。我们的架构是使用mod从apache通过端口80设置到三个实例,每个web应用程序一个。除了其他不同的原因,我需要一个webapp tomcat8和其他tomcat7。我不知道如何使这成为可能,因为我只能在apache中定义一个工作者文件。这是服务器的架构:
Internet -> Apache 2 (open on Port 80 only)
Tomcat 7 instance 1 on Port 8180
Tomcat 7 instance 2 on Port 8280
Tomcat 7 instance 3 on Port 8380
Queries from Web redirected to tomcat instances:
server/Webapp1 -> instance 1/Webapp1
server/Webapp2 -> instance 2/Webapp2
server/Webapp3 -> instance 3/Webapp3
现在我想要的是运行在Tomcat 8而不是7上的实例3,但是由于端口限制,apache必须可以使用它。新的架构应如下所示:
Internet -> Apache 2 (open on Port 80 only)
Tomcat 7 instance 1 on Port 8180
Tomcat 7 instance 2 on Port 8280
Tomcat 8 instance 3 on Port 8380
尝试各种配置的代理程序,我不能使用它,因为它将重定向到一个无法从互联网获得的端口。
是否有一种方法仅用于内部重定向,因为Tomcat 8是一个完整的其他过程?
发布于 2014-10-10 12:56:45
我发现mod_jk也适用于不同的tomcat安装,所以我安装了3个tomcat包,并配置了mod_jk来使用每个tomcat实例。mod_jk的配置(请参阅apache模块文件夹)如下所示:
<IfModule jk_module>
JkWorkersFile /opt/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel warn
JkShmFile /var/log/apache2/jk-runtime-status
JkWatchdogInterval 60
JkMountFile /opt/uriworkermap.properties
</IfModule>员工文件如下所示:
worker.list=app1, app2, app3
worker.app1.port=8109
worker.app1.host=localhost
worker.app1.type=ajp13
worker.app2.port=8209
worker.app2.host=localhost
worker.app2.type=ajp13
worker.app3.port=8309
worker.app3.host=localhost
worker.app3.type=ajp13https://stackoverflow.com/questions/24784017
复制相似问题