使用WEBLOGIC7.0配置ProxyServer
一、前言:最好先看完文章 http://www.csdn.net/Develop/read_article.asp?id=16715 对WLS配置Cluster有个了解。
二、适合读者对象:对于系统稳定性和效率高的WEBLOGIC项目实施者,对WEBLOGIC有兴趣的开发者。
三、介绍:前面文章遗留的问题是,从客户的角度来看,他可以通过两个URL来访问你发布在Cluster中的应用,NodeA上的 http://localhost:7024/browsecategories 或NodeB上的
http://localhost:7025/browsecategories ,并没有提供一致的访问URL,而同时对于Cluster中的两个Node也似乎并没有很好的提供负载均衡,接下来我们的任务就是做一个ProxyServer,让它来替我们完成剩下的任务。一个ProxyServer可以提供给客户一个一致的入口和很好的负载均衡机制。
四、例子: [实验时请注意输入的大小写要统一]
大致框架:
1、现在假设前一篇文章的设置工作都已完成,接下来启动startWebLogic.cmd
2、用IE打开http://localhost:7001/console :mydomainàserversàConfigure a new Server:
(a)Name: ProxyServer
(b) Listen Port: 7021
其它默认;
3、复制文件startManagedWebLogic.cmd(注意不是文件startWebLogic.cmd)成文件一startProxyServer.bat
修改文件startNodeA.bat中的两行
set SERVER_NAME=
set ADMIN_URL=
为
set SERVER_NAME=ProxyServer
set ADMIN_URL=http://honggb:7001
[注:上面的URL中为您的机器名称]
4、这一步要做一个简单的proxyApp.war文件
(a)web.xml文件内容为:(关键部分已用粗体显示)
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>localhost:7024|localhost:7025</param-value>
</init-param>
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<login-config>
<auth-method></auth-method>
</login-config>
</web-app>
(b) weblogic.xml的内容为:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 7.0//EN" "http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd">
<weblogic-web-app>
</weblogic-web-app>
(c)把以上两个文件放在WEB-INF目录,然后打包成proxyApp.war
5、发布和测试:
(a) 关闭startWebLogic.cmd启动的窗口
(b) 启动startWebLogic.cmd
(c)启动startNodeA.bat
(d) 启动startNodeB.bat
(e)启动startProxyServer.bat
(f) 用IE打开http://localhost:7001/console 将前面发布的browsestore.war文件undeploy,然后在Targets里不选Clusters,选择Server里的ProxyServer,然后deploy。
(g)测试:用IE打开 http://localhost:7001/console mydomainàServersà ProxyServeràconnectionsàHTTP
Default Web Application: 选择proxyApp
(h)用IE打开http://localhost:7021/browsecategories 就可以看到你已经把应用发布到ProxyServer上了。
错误之处,还请指出。EMAIL:[email protected]
文章中的两个WAR文件:proxyApp.war和browsestore.war不知道怎么上传。
本文地址:http://com.8s8s.com/it/it18024.htm