在实际运用过程中,我们偶尔会遇到这样的问题:项目需要部署在不同的端口上。那么,我们如何将项目部署在多个不同端口上呢?下面将给大家介绍在tomcat上将一个项目部署在多个端口上的示例:
1.找到tocmat下conf/server.xml中的service配置节点
sercice.xml中的service如图所示
2.复制这个service节点元素,紧跟在后面粘贴一次
复制粘贴service元素
注意点:
<Service name="Catalina1">,这里设置Service的名字为Catalina1,名字可以随便取,但是不能和当前这个文件已有的其他Service元素同名。
<Connector port="8081" protocol="HTTP/1.1" ........./>,设置当前service监听的端口为8081,注意这个端口号也不能和其他service里面配置的端口号相同。
<Engine name="Catalina1" defaultHost="localhost">,Engine对应的名字可以随便取,但是不能和其他Engine元素的名字同名就好。defaultHost表示当前Engine根据主机头在它的子元素中找不到匹配名称的虚拟主机时所要访问的缺省虚拟主机。
<Host name="localhost" appBase="webapps" />,name属性指定虚拟主机的名字,而appBase属性指出虚拟主机上应用部署的位置,位置可以使用绝对路径(比如: F:/users/webapps),也可以使用相对路径(注意:如果是相对路径,那么起点就是Tomcat的安装目录)
<Context path="/web"docBase="
F:/workplace/web/..../webRoot" reloadable="true" /> path表示应用访问的路径,”/”表示这个Context是当前虚拟主机的缺省Web应用程序。docBase为应用程序的路径或WAR文件存放的路径 ,可以是绝对路径 ,也可是相对路径。一个Host元素里面可以嵌套多个Context元素,也即一个虚拟主机里面可以部署多个Web应用。在当前配置中,我们两个service里面的context都指向了同一个项目。
3.启动tomcat,输入http://localhost:8080/web和http://localhost:8081/web都可以访问页面了,与此同时,你可以看到tomcat的conf已经多出了一个名为Catalina1的文件夹,说明已经各自生成了虚拟主机名称的目录
