锁定老帖子 主题:apache 集成多个tomcat的方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-09-25
背景: 现有服务器只运行了一个网站 没有使用apache, tomcat端口为80 ,现在希望在服务器在添加一个站点 而不使用现有的tomcat.但多个tomcat不能共用一个80端口,所以希望通过apache使用80端口,然后在分发对应的tomcat,实现多个tomcat在一个服务器上共存. 网上也有很多类似的实例,本文是参考多篇文章然后自己在本机动手测试成功之后写成的,但仍有许多不足,敬请谅解 环境与软件 操作系统 xp apache 2.2 tomcat 6.0.32 Tomcat1的设定 Shutdown 端口 <Server port="8016" shutdown="SHUTDOWN"> http 端口 <Connector connectionTimeout="20000" port="9080" protocol="HTTP/1.1" redirectPort="8443"/> AJP 端口 <Connector port="8020" protocol="AJP/1.3" redirectPort="8443"/> HOTST 配置 <Host appBase="webapps" autoDeploy="true" name="www.123.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
Tomcat2的设定 Shutdown 端口 <Server port="8006" shutdown="SHUTDOWN"> http 端口 <Connector connectionTimeout="20000" port="9090" protocol="HTTP/1.1" redirectPort="8443"/> AJP 端口 <Connector port="8030" protocol="AJP/1.3" redirectPort="8443"/> HOTST 配置 <Host appBase="webapps" autoDeploy="true" name="www.abc.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
Apache设定
httpd.conf
1. 使用apache自带的proxy模块,去掉注释使其可用 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so 2. 去掉 Include conf/extra/httpd-vhosts.conf的注释 3.配置httpd-vhosts.conf 内容如下
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.abc.com
ProxyPass / http://www.abc.com:9090/
ProxyPassReverse / http://www.abc.com:9090/
</VirtualHost>
<VirtualHost *:80>
ServerName www.123.com
ProxyPass / http://www.123.com:9080/
ProxyPassReverse / http://www.123.com:9080/
</VirtualHost>
修改windows host文件
127.0.0.1 www.abc.com
127.0.0.1 www.123.com
启动tomcat ,apache
输入 www.abc.com www.123.com 终于不用使用端口号,大功告成 哦了!
本人对apache配置不是很清楚, 也不了解apache proxy的工作原理,在apache和tomcat集成方便如有不足之处 请多多指教,共同进步 , 谢谢!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-09-25
如果你的tomcat是在同一台机器上的话,是要对cluster那个地方做详细设置的
|
|
返回顶楼 | |
发表时间:2012-09-25
java_user 写道 如果你的tomcat是在同一台机器上的话,是要对cluster那个地方做详细设置的
在同一台机器上配置tomcat 集群,session 复制一直没有成功过,不知道有什么特殊的设置,请教。 不同机器上session 复制没有问题。 |
|
返回顶楼 | |
发表时间:2012-09-26
最后修改:2012-09-26
还是不要研究session复制了,因为这个实在是不能应用到实际项目中,而且本身session复制就不是很科学,
我为什么要在服务器没有出现问题的情况下每次都广播复制session呢? session复制感觉做了很多无用功. 还是多研究下session粘连加通过第三方来备份session以到达tomcat负载均衡,失败转移,从第三方工具中读取出session继续提供服务. |
|
返回顶楼 | |
发表时间:2012-09-27
LikeEJB_CC 写道 还是不要研究session复制了,因为这个实在是不能应用到实际项目中,而且本身session复制就不是很科学,
我为什么要在服务器没有出现问题的情况下每次都广播复制session呢? session复制感觉做了很多无用功. 还是多研究下session粘连加通过第三方来备份session以到达tomcat负载均衡,失败转移,从第三方工具中读取出session继续提供服务. 有链接提供吗,请教。 |
|
返回顶楼 | |
发表时间:2012-09-27
你是想做均衡负载么?我以前用MOD_JK没有做得。。
|
|
返回顶楼 | |
发表时间:2012-09-27
chenshaoao 写道 LikeEJB_CC 写道 还是不要研究session复制了,因为这个实在是不能应用到实际项目中,而且本身session复制就不是很科学,
我为什么要在服务器没有出现问题的情况下每次都广播复制session呢? session复制感觉做了很多无用功. 还是多研究下session粘连加通过第三方来备份session以到达tomcat负载均衡,失败转移,从第三方工具中读取出session继续提供服务. 有链接提供吗,请教。 google memcache session 同步 |
|
返回顶楼 | |
发表时间:2012-09-27
chenshaoao 写道 java_user 写道 如果你的tomcat是在同一台机器上的话,是要对cluster那个地方做详细设置的
在同一台机器上配置tomcat 集群,session 复制一直没有成功过,不知道有什么特殊的设置,请教。 不同机器上session 复制没有问题。 具体你搜一下,里面有一堆配置,主要是改端口号 |
|
返回顶楼 | |
发表时间:2012-09-27
java_user 写道 chenshaoao 写道 java_user 写道 如果你的tomcat是在同一台机器上的话,是要对cluster那个地方做详细设置的
在同一台机器上配置tomcat 集群,session 复制一直没有成功过,不知道有什么特殊的设置,请教。 不同机器上session 复制没有问题。 具体你搜一下,里面有一堆配置,主要是改端口号 不同电脑上改端口session 复制成功,同一台电脑上不成功,端口都设置成不重复的了。 不知道还有什么特殊的配置。请教。 |
|
返回顶楼 | |
发表时间:2012-09-28
最后修改:2012-09-28
chenshaoao 写道 java_user 写道 chenshaoao 写道 java_user 写道 如果你的tomcat是在同一台机器上的话,是要对cluster那个地方做详细设置的
在同一台机器上配置tomcat 集群,session 复制一直没有成功过,不知道有什么特殊的设置,请教。 不同机器上session 复制没有问题。 具体你搜一下,里面有一堆配置,主要是改端口号 不同电脑上改端口session 复制成功,同一台电脑上不成功,端口都设置成不重复的了。 不知道还有什么特殊的配置。请教。 请参考我的另一篇文章 tomcat与apache集成采用mod_jk方式 我在本地测试实现了session共享 非原创 http://litxuf.iteye.com/blog/801950 |
|
返回顶楼 | |
浏览 13078 次