通过一个tomcat端口访问多个tomcat项目 tomcat转发

需求是这样的,有一个tomcat,是80端口,现在我要通过这个tomcat转发到服务器其他tomcat,其他tomcat的端口不是80.这样做就可以避免这样www.baidu.com:8081的情况。

比如我现在的域名是www.baidu.com. 我映射好域名和ip,建好了对应的子域名one.baidu.com    two.baidu.com

我现在有三个tomcat启动这,端口分别是:80 81 82

因为默认端口是80所以我可以直接www.baidu.com 访问到我的80tomcat的项目。但是我想one.baidu.com 访问到81的tomcat, two.baidu.com    访问到82的tomcat。

首先要配80 的域名映射。

在80的tomcat的server.xml 的 Engine节点下配置


1

2

3

4

5

6

7

8

9

10

      <Host name="www.baidu.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

                        

            <Context path="" docBase="baidu" reloadable="true" />

       

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

这样我输入www.baidu.com就可以访问到80tomcat下的baidu的项目了。

下面的配置可以让我直接输入one.baidu.com two.baidu.com 直接访问到对应端口下的项目


1

2

3

4

5

6

7

8

9

10

      <Host name="one.baidu.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

            

            <Context path="/" docBase="/test/one/apache-tomcat-8.0.14/webapps/oneBaidu" reloadable="true" />

       

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

      <Host name="two.baidu.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

            

            <Context path="/" docBase="/test/two/apache-tomcat-8.0.14/webapps/twoBaidu" reloadable="true" />

       

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

这样就达到了需求了。

contex指上下文,实际上就是一个web项目;

path是虚拟目录,访问的时候用127.0.0.1:8080/welcom/*.jsp访问网页,welcome前面要加/;

docBase是网页实际存放位置的根目录,映射为path虚拟目录;

reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步。

这个方式的话,当启动第一个80端口的tomcat的时候,其他项目会全部启动。分别启动其他端口的tomcat也没影响,只是会更新项目而已。

这样做的好处就是,如果某个项目修改了要上传了,启动下对应端口下的tomcat,在关闭,那么就更新了,不用像以前那样启动一个tomcat有很多项目要重启。

但是我觉得实际中,应该不这样应用~

时间: 2024-10-26 02:35:07

通过一个tomcat端口访问多个tomcat项目 tomcat转发的相关文章

静态默认路由 可以在网络边缘通过一个路由器端口访问每一个pc机

本实验的目的是:给路由器配置静态的默认路由 思路:1 手动配置4个PC的IP地址,网关 2 依次配置每个路由器每个端口的IP地址 3  配置左右两边的   静态默认路由 4  配置中间路由器的   静态路由 具体操作: 1 配置终端IP地址和网关略过 2 配置左边路由器的IP地址 路由器改名称,对接口gig0/0配置IP地址 Router>en Router#configure terminal Router(config)#hostname R1 R1(config)#interface gi

在Tomcat服务器中去端口访问域名

在刚购买域名并解析后,从外网访问Tomcat服务器时是需要在域名后面加端口":8080".要去端口访问的步骤如下: 在Tomcat目录下的conf文件夹下,打开server.xml文件. 找到: 1 <Connector port="8080" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1"/> 改成: 1 &l

linux下tomcat无法访问问题(换一种说法:无法访问8080端口)

有时候linux下的tomcat其他机器无法访问,比如主机无法访问linux虚拟机的tomcat,这是因为tocat的端口,linux没有对外开放,所以只能localhost访问,但是别的机器访问不了:解决方法如下 编辑linux的iptables文件:vi /etc/sysconfig/iptables 复制一句:已经开放22端口的命令改为8080就好: -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 允许某个端

myeclipse&amp;eclipse配置tomcat端口、配置从根目录访问web项目

myeclipse 配置tomcat端口 窗口-->配置-->myeclipse-->8080 配置从根目录访问web项目 (参考:http://www.cnblogs.com/zhwl/p/3629861.html) 1.右键项目-->myeclipse:把上下文目录由/项目名字改为/ 2.修改之后,重新部署项目,会提示要恢复tomcat安装,不然不能部署. eclipse 配置端口 配置从根目录访问web项目

tomcat 不同域名 不同端口访问项目

需要添加多域名 ,或者不同域名在不通端口下访问需要在tomcat/conf/server.xml文件下,在server标签下 添加 <Service name="OPEPC">     <Connector port="80" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort=&qu

TOMCAT服务器不写端口号、不写项目名访问项目、虚拟目录配置

一.不写端口. 这个问题都被问烂了,因为TOMCAT默认的访问端口为8080,而TCP/IP协议默认80端口访问,大家之所以看到别的网站都不写端口号是因为人家用的的80端口访问的,而80端口因为的TCP/IP的默认端口所以就不用写出来了.大家如果想改的话可以在tomcat安装目录中的conf文件中的server.xml文件中的 <Connector connectionTimeout="20000" port="80" protocol="HTTP/

tomcat跑多个项目和不同端口访问项目

最近笔者在工作中需要同时运行多个项目,且有时需要不同端口访问项目:在此过程中,笔者觉得有必要将注意事项记录一下,以备后边查阅或广大读者借鉴. 工作环境是win7,64位,IDE为eclipse,浏览器用的是谷歌浏览器: 一,tomcat跑多个项目: 1.在eclipse窗口:打开Window>>Preferences>>Server>>Runtime Environments,可以看到之前设置过的Tomcat的安装路径: 2.选择所安装tomcat版本,next: 3.

tomcat端口

* 一,同一个tomcat中,部署多个程序,使用同一个端口 1,http://217.65.63.124:6789/ddd ddd项目部署在tomcat中,该tomcat可同时部署多个java项目,开始我以为同一个端口不可以, 其实可以,因为http://217.65.63.124:6789是访问该ip下的tomcat程序,如果启动了另一个tomcat程序,则不可以用同一个端口 二,同一个tomcat,部署多个程序,使用不同端口 <?xml version='1.0' encoding='utf

Cacti监控一台Web服务器上多个Tomcat端口的实现

因为一台web应用服务器上面安装了多台tomcat,有多个端口,比如默认的8080,还有后续追加的9100,9300,9500等等.一个cacti_host_template_tomcat_server.xml模板只能指定监控一个tomcat服务端口. 因此如果想要监控一台web服务器上的多个tomcat服务器,那么就必须另外想办法,按照一个host上面一个模板监控一个tomcat服务来说的话,要想在一个host上面监控多个tomcat服务就需要构建多个模板xml文件.目前想到2种方法: (1)