免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2232 | 回复: 9
打印 上一主题 下一主题

[Web] apache2.2+tomcat配制多虚拟主机疑问,救火了,兄弟们 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-20 20:48 |只看该作者 |倒序浏览
环境:
linux as4 update 2
apache 2.2
tomcat 5.0.30
jdk 1.4.2

计划使用ajp_proxy来连接tomcat
<VirtualHost *:80>
ServerAdmin rocky.zhang@cityyouth.cn

DocumentRoot /webapp/www.a.com
ServerName www.a.com
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
ServerAlias www.a.com
ErrorLog logs/www.a.com-error_log
CustomLog logs/www.a.com-access_log common
</VirtualHost>


这个是我的一个域名的配制
tomcat的配制如下:
<Context path="" docBase="/webapp/www.h365.cc" debug="99" reloadable="true">

我目前是配制path="",所以ajp_proxy直接连接localhost:8009

那么请问如果第二个web要加载的时候
tomcat:
<Context path="/aaa" docBase="/webapp/www.h365.cc" debug="99" reloadable="true">
apache:
<VirtualHost *:80>
ServerAdmin rocky.zhang@cityyouth.cn

DocumentRoot /webapp/www.b.com
ServerName www.a.com
ProxyPass / ajp://localhost:8009/aaa
ProxyPassReverse / ajp://localhost:8009/aaa
ServerAlias www.b.com
ErrorLog logs/www.b.com-error_log
CustomLog logs/www.b.com-access_log common
</VirtualHost>

在我设想中,应该是米有问题的直接访问,但是直接打入http://www.b.com无效
<VirtualHost *:80>
ServerAdmin rocky.zhang@cityyouth.cn

DocumentRoot /webapp/www.b.com
ServerName www.a.com
ProxyPass /aaa ajp://localhost:8009/aaa
ProxyPassReverse /aaa ajp://localhost:8009/aaa
ServerAlias www.b.com
ErrorLog logs/www.b.com-error_log
CustomLog logs/www.b.com-access_log common
</VirtualHost>

然后可以访问,但是令我伤心的是,访问的url变为:http://www.b.com/aaa,直接输入http://www.b.com无效啊
不知道该如何解决,郁闷中

[ 本帖最后由 zww80216 于 2006-4-20 20:50 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-04-20 21:18 |只看该作者
感觉你的问题没有说清楚,也许我的理解力太差了

论坛徽章:
0
3 [报告]
发表于 2006-04-20 21:31 |只看该作者
就是我想达到直接www.b.com
访问tomcat中
http://localhost:8080/test

论坛徽章:
0
4 [报告]
发表于 2006-04-20 21:37 |只看该作者
serverAlias 的作用就是使得访问http://www.a.com和访问http://www.b.com
效果一样啊

论坛徽章:
0
5 [报告]
发表于 2006-04-20 21:50 |只看该作者

回复 4楼 xxjoyjn 的帖子

可是我就是不能访问啊
ProxyPass /aaa ajp://localhost:8009/aaa
ProxyPassReverse /aaa ajp://localhost:8009/aaa

我必须设置为 /aaa

那么就意味着我访问域名的时候必须后边带上/aaa,否则就不行了

论坛徽章:
0
6 [报告]
发表于 2006-04-20 21:51 |只看该作者
原帖由 zww80216 于 2006-4-20 21:50 发表
可是我就是不能访问啊
ProxyPass /aaa ajp://localhost:8009/aaa
ProxyPassReverse /aaa ajp://localhost:8009/aaa

我必须设置为 /aaa

那么就意味着我访问域名的时候必须后边带上/aaa,否则就不行了


咱不要讨论alias,那是个别名.

关键是奇怪的url衍射,我不能使用 /来衍射ajp://localhost:8009/aaa

论坛徽章:
0
7 [报告]
发表于 2006-04-22 13:22 |只看该作者
这样行不行?

<Location />
ProxyPass / ajp://localhost:8009/aaa
</Location>

访问http://localhost:8080/aaa 有何反应?

还有,你的:
那么请问如果第二个web要加载的时候
tomcat:
<Context path="/aaa" docBase="/webapp/www.h365.cc" debug="99" reloadable="true">
apache:
<VirtualHost *:80>
ServerAdmin rocky.zhang@cityyouth.cn

DocumentRoot /webapp/www.b.com
ServerName www.a.com                          -----------> 既然是第二个web,就应该是www.b.com
ProxyPass / ajp://localhost:8009/aaa
ProxyPassReverse / ajp://localhost:8009/aaa
ServerAlias www.b.com     -------> 我的习惯ServerAlias 不是这样用的,调试阶段最好纯粹点,删除吧,两个虚拟主机用两个独立的<VirtualHost >来定义
ErrorLog logs/www.b.com-error_log
CustomLog logs/www.b.com-access_log common
</VirtualHost>

[ 本帖最后由 anthonyfeng 于 2006-4-22 13:27 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2006-04-24 12:33 |只看该作者
原帖由 anthonyfeng 于 2006-4-22 13:22 发表
这样行不行?

<Location />
ProxyPass / ajp://localhost:8009/aaa
</Location>

访问http://localhost:8080/aaa 有何反应?

还有,你的:
那么请问如果第二个web要加载的时候
...

我现在是tomcat启动两个ajp端口,然后a是跑8009,b是跑8019,然后各自连接,万事大吉.总是觉得有点别扭

论坛徽章:
0
9 [报告]
发表于 2006-04-24 12:37 |只看该作者

还有一个问题

原来我的tomcat通过apache连接很慢.后来将<connect port="8080"...直接删除,只保留了ajp连接后将我的连接数改为2000后速度提升了一倍左右,不知道何故.望达人解答

论坛徽章:
0
10 [报告]
发表于 2006-04-25 13:36 |只看该作者
“将我的连接数改为2000后速度提升了一倍左右”

请问是如何改的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP