31  
查询码: 00000417
Tomcat服务器中配置多个域名,访问不同的web项目 - JOEH60 - 博客园
来源:https://www.cnblogs.com/JOEH60/p/6022228.html
作者: 周杨 于 2022年03月08日 发布在分类 / 计算机应用 / 服务器 ,于 2022年03月08日 编辑
项目 tomcat 文件 webapps 添加 docbase 访问 unpackwars localhost 配置



想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决。

详细步骤如下:

1、将两个项目打包放入tomcat的webapps目录下;

2、修改tomcat的server.xml文件,原来的代码如下:

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

</Host>

添加代码后如下:

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="/ROOT"/>
</Host>
<Host name="myspring.com"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/SpringMvcArchitect2"/>
</Host>

需注意两点:a、原来的host需要加上context标签,并且path由原来的空变为项目名,因为两个host的path不能同时为空,不然会访问出错,原来的项目名默认为ROOT。

b、添加新的host,将docBase里的路径设置为第二个web项目的路径,这里为/SpringMvcArchitect2,name为虚拟域名,自定义的。


3、修改机器的host文件(区别于上面的Host标签,是系统host文件),添加一个ip映射,例如添加的host的name为myspring.com,则往系统host文件中添加127.0.0.1 myspring.com


4、重启tomcat,就可以使用localhost:8080和myspring.com:8080访问两个web项目了,这里端口设置为8080,可以自己更改。


5、同理可以扩展为多个web项目,只需配置多个host即可

附:部分项目如jfinal框架默认的项目在ROOT下,所以war包不能都放webapps文件夹下,这样需另外存放路径如E:\test

1、   server.xml配置文件如下

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="C:\tomcat\webapps\ROOT"/>
</Host>
<Host name="test.xiuyuewang.com"  appBase="E:\test"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="E:\test\ROOT" reloadable="false" crossContext="true"/>
</Host>

2、 系统host配置文件

添加    127.0.0.1    新域名

3、重启tomcat。




 历史版本

备注 修改日期 修改人
CREAT 2022-03-08 11:38:04[当前版本] 系统管理员

知识分享平台 -V 5.1.4 -大信谛威