本文共 3214 字,大约阅读时间需要 10 分钟。
前提: 1.在绑定之前,要保证Apache已经正确配置了代理Tomcat,并且正常运行。 2.有一个域名(本地测试可以通过修改hosts文件) 绑定步骤: 第一步 新建域名 打开host(C:\Windows\System32\drivers\etc),在文件末尾追加下面内容: 127.0.0.1 t1.m.com 127.0.0.1 t2.m.com 第二步 配置tomcat 打开%TOMCAT%\conf\server.xml,把文件中的host标签完整复制一份,修改如下:name:域名 appBase:包含工程的文件夹(上面的webapps其实就是%TOMCAT%\webapps) docBase:工程文件夹(上面的xxxx其实就是%TOMCAT%\webapps\xxxx) 第三步 配置apache 打开%XAMPP%\apache\conf\extra\httpd-ajp.conf 删除之前apache对tomcat的代理,然后追加下面内容(Apache和Tomcat都在xampp中,所以这里使用127.0.0.1)
ProxyPass / ajp://127.0.0.1:8009/ smax=0 ttl=60 retry=5配置完毕。 重新启动Apache和Tomcat。 测试: 在浏览器中输入t1.m.com回车,显示的不再是tomcat首页面,而是xxxx工程的首页面。 注: 不使用Apache的前提下,也可以单独使用Tomcat与域名绑定,修改server.xml中默认的8080端口为80即可,其他配置同上。 这个方法也适用于Tomcat直接与多个域名绑定,只需要在server.xml中包含多个host标签即可。 如果想把Apache与多个域名绑定,可以修改VirtualHost(下面的例子),并且可以把Tomcat集群的配置一并写在VirtualHost中。
[b]以下为追记 2012-06-15:[/b] 昨天发现工程中的log4j自动分割日志出现了问题,单个日志文件体积达到了1G,查找原因,发现是在tomcat下的配置文件server.xml中添加了host后引起的,删除添加的host后日志恢复正常,个中原因不甚明了。遂另想方法解决域名绑定,方法如下: 1.在apache中绑定域名 2.通过apache中的proxy把请求转发到tomcat 3.删除tomcat下server.xml中添加的host,只保留localhost一个host 例如: 有两个webapp,一个是webapp-a,另一个是webapp-b,要求如下: 1.地址栏输入t1.lvw.com时,访问webapp-a 2.地址栏输入t1.lvw.com/webapp-a时,访问webapp-a 3.地址栏输入t1.lvw.com/wab时,访问webapp-b 4.地址栏输入t1.lvw.com/webapp-b时,访问webapp-b 配置代码:ServerName t1.lvw.com Order deny,allow allow from all ProxyRequests Off ProxyPreserveHost on ProxyPass / balancer://proxy/ stickysession=JSESSIONID|jsessionid ProxyPassReverse / balancer://proxy/BalancerMember ajp://192.168.0.77:8009/ loadfactor=1 route=tomcat7_a BalancerMember ajp://192.168.174.159:8009/ loadfactor=1 route=tomcat7_b
ServerName t1.lvw.com Order deny,allow allow from all # ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ # --------------------------- proxy config ------------------------------ # url proxy config # config for webapp-a ProxyPass /webapp-a ajp://127.0.0.1:8009/webapp-a smax=0 ttl=60 retry=5 # config for webapp-b # 如果需要起别名,至少应该有两行定义 ProxyPass /wab ajp://127.0.0.1:8009/webapp-b smax=0 ttl=60 retry=5 ProxyPass /webapp-b ajp://127.0.0.1:8009/webapp-b smax=0 ttl=60 retry=5 # default mapping is webapp-a ProxyPass / ajp://127.0.0.1:8009/webapp-a smax=0 ttl=60 retry=5 # ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ # ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ # ------------------------- balancer config ----------------------------- #ProxyPreserveHost on #ProxyPass / balancer://proxy/ stickysession=JSESSIONID|jsessionid #ProxyPassReverse / balancer://proxy/ ## BalancerMember ajp://127.0.0.1:8009/ loadfactor=1 route=tomcat7_a # #BalancerMember ajp://192.168.174.159:8009/ loadfactor=1 route=tomcat7_b # # ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
转载地址:http://dfgmi.baihongyu.com/