如何在80端口绑定的单机上安装多个版本的tomcat?

时间:2018-03-31 21:59:47

标签: java tomcat webserver

我在三个版本的tomcat上运行了三个web应用程序,如下所示:

  1. app1适用于tomcat 7和jdk 7(app1domain.com:2121)
  2. app2适用于tomcat 8和jdk 8(app2domain.com:2222)
  3. app3适用于tomcat 9和jdk 8(app3domain.com:2323)
  4. 有Windows Server 2012。 我想在上面的所有tomcat上使用端口80,用户可以看到没有端口号的app1domain.com

    我可以安装其他tomcat,我想为每个tomcat使用虚拟主机

    是否有任何软件或解决方案可以做到这一点?

1 个答案:

答案 0 :(得分:0)

使用nginx,易于使用和免费作为代理软件来管理应用程序和Web服务器。 首先,您可以在tomcat server.xml中配置tomcats

<!-- Tomcat listen on 8080 -->
<Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   URIEncoding="UTF-8"
   redirectPort="8443" />
<!-- dont change the code up -->
<!-- Set /apple as default path -->
<Host name="localhost"  appBase="webapps"
     unpackWARs="true" autoDeploy="true">

 <Context path="" docBase="apple">
     <!-- Default set of monitored resources -->
     <WatchedResource>WEB-INF/web.xml</WatchedResource>
 </Context>
</Host>

在Nginx中,编辑/ etc / nginx / sites-enabled / default,放入以下内容: 的/ etc / nginx的/ /默认启用位点-

server {
  listen          80;
  server_name     yourdomain.com;
  root            /etc/tomcat7/webapps/apple;

  proxy_cache one;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

它告诉Nginx将端口80上的流量从端口80重定向到Apache Tomcat。完成后,重新启动Nginx。

source link