tomcat配置虚拟目录的最正确方式和部署多个web项目

tomcat 配置虚拟目录的最正确方式

在部署web项目到服务器上的时一般都是这么配置的:
配置虚拟目录不是配置虚拟路径,虚拟目录的意思是,web项目名称。

1.虚拟目录的映射:

Web开发以后交给服务器,要想被外界访问,就得把目录交给服务器管理,这个过程叫做虚拟路径的映射。

当浏览器地址为:http://localhost:8080 就是访问到了tomcat的webapps文件夹下。因为tomcat的配置中,也是有指定了tomcat的默认访问路径就是webapps。

tomcat配置虚拟目录的最正确方式和部署多个web项目

2.常见的配置虚拟目录:

第一种:

Service.xml中host内配置Context标签,path+docbase属性。
tomcat配置虚拟目录的最正确方式和部署多个web项目

比如你的直接把项目放入到其他任意的目录下,不是tomcat的webapps下,然后直接去配置这个。
我的app2项目包,放在C盘下。

tomcat配置虚拟目录的最正确方式和部署多个web项目

最后,只需要浏览器输入对应的path即可访问到,并不需要一定放到tomcat的文件夹下去。

tomcat配置虚拟目录的最正确方式和部署多个web项目

第二种:缺省配置

直接去掉path的指定。tomcat配置虚拟目录的最正确方式和部署多个web项目

访问的时候就可以不需要项目名:
tomcat配置虚拟目录的最正确方式和部署多个web项目

第三种:war包

直接把项目打包成war包,然后手动放入到tomcat的webapps文件夹下去,运行tomcat即可。因为tomcat的配置中,也是有指定了tomcat的默认访问路径就是webapps。

但是!!!

以上的这几种配置,在tomcat官方已经不推荐了。

tomcat配置虚拟目录的最正确方式和部署多个web项目

所以说发布web项目,tomcat 配置虚拟目录的最正确方式。

最正确配置方式:

以后的线上配置方式:推荐!

创建一个xxx.xml在tomcat的conf\Catalina\localhost 文件夹下。

tomcat配置虚拟目录的最正确方式和部署多个web项目

然后写下对应的虚拟目录:
tomcat配置虚拟目录的最正确方式和部署多个web项目

最后浏览器访问:
tomcat配置虚拟目录的最正确方式和部署多个web项目

如果你有多个不同的web项目,那么就在这个xml当中写下不同的虚拟目录即可通过浏览器访问,这样单独抽离出来,方便快捷。


其次补充一下知识: 服务器部署知识。

1.关于一个tomcat下部署多个war包:

把war包放到webapp目录下,也就是war包和ROOT平级:

更改 tomcat里面server.xml: 添加的context标签详细:

 <Context crossContext="true" debug="5" docBase="D:\apps\UAP\apache-tomcat-7.0.42_64/webapps/A.war" path="/A" reloadable="false"> </Context>
 <Context crossContext="true" debug="5" docBase="D:\apps\UAP\apache-tomcat-7.0.42_64/webapps/B.war" path="/B" reloadable="false"></Context>

最后启动Tomcat,两个war包就能正常使用了…

2.另外一种不需要war包的方式:

在你本地的eclipse中的工作路径即workspace中有一个.matedata文件夹,打开.matedata文件夹后会有一个.plugins文件夹,打开找到org.eclipse.wst.server.core文件夹,一直打开到H:\javalianxi\javaketang.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ 这个文件夹中就有你要的编译好的项目包resource。

这是已经通过eclipse编译好的项目,你可以拷贝出来,直接放在你的服务器的Tomcat下的webapps下,这样就部署好了。亲测有用。

但是这种方式,不推荐使用,因为这个是本地eclipse编译完成,跟服务器上的环境不一定一致,而且该项目包,不一定是最新版。

3.项目端口号冲突:

Tomcat默认空间webapps,中已经存在一个项目了,此时要增加一个项目运行可以将原本webapps目录copa一份,
改名为webapp1(或者其他看实际情况),然后,将webapp1目录中原来的项目清除,加入你要部署的新项目。

然后修改为不同的端口号。