2018-01-05 服务器上tomcat 自带域名分发
目的:泛解析后的域名访问到tomcat的时候分发到对应的项目中
将tomcat端口修改为80
找到tomcat配置文件/conf/server.xml
找到<Host>标签
1.如果结构为单项目 可以使用filter的方式转发域名(请自行百度)
2.如果结构为多模块 单模块中包含多服务
修改默认<Host>
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">
同时在webapps下建立模块对应文件夹比如test1 test2
在Host标签之后添加Host标签对应当前文件夹
<Host name="test1.baidu.com" appBase="webapps/test1" unpackWARs="true" autoDeploy="true">
<Value .../>
</Host>
<Host name="test2.baidu.com" appBase="webapps/test2" unpackWARs="true" autoDeploy="true">
<Alias>www.baidu.com</Alias>
<Value .../>
</Host>
将<Engiee>标签中的defaultHost改为你设置错误页面的项目比如test1.baidu.com 如果没有可以依旧用locathost会返回tomcat默认的错误页面
如果有需要可以将value中的日志目录改为对应项目 这个目录是记录访问此域名用户的ip uri thread信息的
alias标签是别名 可以同时通过test2.baidu.com www.baidu.com两个域名访问此项目,注意标签大小写 是严格区分的
所有模块下同样继承ROOT写法 当test1 test2文件夹中存在名为ROOT的项目时默认访问此项目,其他项目需要添加/XXX
3.如果是单模块 模块中多服务 可以参考2中方式建立对应服务的文件夹 将每个服务看成一个独立的模块 一个模块中存放一个ROOT项目即可