Tomcat配置多个域名

long416811 天津工业大学 学生  2015-08-11 09:40:14
需要在同一台服务器上部署两个项目,并且两个项目的域名均不一样,我是用的是Tomcat7.0,是java web项目,按照网上的例子我将tomcat的server.xml文件进行了更改,
如下
<Host name="www.a.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/usr/local/tomcat/webapps/a" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>

<Host name="www.b.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/usr/local/tomcat/webapps/b" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>

通过Host配置多个域名,同时使用的是tongcat7.0,项目我都放在了tomcat下的webapps中,可是这样配置每次都只有一个项目可以正常访问,只有我做如下修改:
<Host name="www.a.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/usr/local/tomcat/webapps/a" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>

<Host name="www.b.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>

此时,www.a.com可以正常访问,www.b.com也可以访问,但是此时就必须输入项目名,比如:www.b.com/b
网上查阅了好多资料,没有可行的方法,我是不是项目不应该放在webapps下啊??特来求助啊 紧急啊 !!!!!!
...全文
412 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
浮云若水 2017-01-18
tomcat 前经Nginx来做域名转发
回复
antony_jiang 2017-01-18
引用 7 楼 gongxiaobin911 的回复:
用apache代理转发吧,找到apache的匹配值文件,好像是httpd.conf文件,写个代理转发就ok了,部分代码 NameVirtualHost 101.200.204.103:80 <VirtualHost 101.200.204.103:80> ProxyPreserveHost On ProxyRequests Off ServerName www.jzmf.xyz ProxyPass / http://101.200.204.103:8080/ ProxyPassReverse / http://101.200.204.103:8080/ </VirtualHost> <VirtualHost 101.200.204.103:80> ProxyPreserveHost On ProxyRequests Off ServerName www.bjjzmf.xyz ProxyPass / http://101.200.204.103:8081/ ProxyPassReverse / http://101.200.204.103:8081/ </VirtualHost>
这个要用2个tomcat 能一个tomcat 解决吗
回复
long416811 2015-08-14
感谢大家的回答,我最后用apache转发端口了 ,可是很是会显示出项目的端口。。。。。。
回复
用apache代理转发吧,找到apache的匹配值文件,好像是httpd.conf文件,写个代理转发就ok了,部分代码 NameVirtualHost 101.200.204.103:80 <VirtualHost 101.200.204.103:80> ProxyPreserveHost On ProxyRequests Off ServerName www.jzmf.xyz ProxyPass / http://101.200.204.103:8080/ ProxyPassReverse / http://101.200.204.103:8080/ </VirtualHost> <VirtualHost 101.200.204.103:80> ProxyPreserveHost On ProxyRequests Off ServerName www.bjjzmf.xyz ProxyPass / http://101.200.204.103:8081/ ProxyPassReverse / http://101.200.204.103:8081/ </VirtualHost>
回复
a_b_a_b_a_b_a_b 2015-08-12
你的那种配置可以,可能是你配置有问题了,你再百度一下试试吧。我配置成功过,具体忘了。用nginx是个不错的选择,现在我们都用这个了。
回复
Small-Young 2015-08-12
<Host name="www.a.com" appBase="a"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>

<Host name="www.b.com" appBase="b"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>


内部机构

将项目放在root里面就ok了
回复
long416811 2015-08-11
只能用Nginx这个来解决了么?我的那种办法是不可行还是有错误??
回复
Inhibitory 2015-08-11
Tomcat前放一个Nginx或者Apache Server,在这里处理域名
回复
mark小辉 2015-08-11
项目地址要直接能够加载、配置好之后还有重启猫
回复
ab637800 2015-08-11
改Tomcat的server.xml <Context path="" docBase="项目路径" debug="0"/>
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-08-11 09:40
社区公告
暂无公告