时间:2021-07-01 10:21:17 帮助过:59人阅读
为了完全理解WebLogic服务器如何工作,并让它表现出最佳性能,我们很有必要理解几个概念。最重要的概念都在下面的内容中谈到了。本文为第一部分。 执行线程和队列 本部分内容简单描述了Oracle WebLogic服务器的内部架构,大家可以了解到该服务器如何执行工作
为了完全理解WebLogic服务器如何工作,并让它表现出最佳性能,我们很有必要理解几个概念。最重要的概念都在下面的内容中谈到了。本文为第一部分。你可以在服务器实例运行时动态修改大部分域配置属性。对于不支持动态配置的属性,你就必须重启服务器实例了。你配置的运行时属性值将立即反映出你所作的变更,这些值会持久地保存在“config.xml”文件中。
开发模式和产品模式
默认情况,WebLogic服务器域运行在开发模式下,使用的是Sum的Java开发包(JDK)。在这种模式下,应用自动部署是启用状态,管理服务器会在启动时自动创建“boot.properties ”文件。你还可以为安全套接字层(SSL)使用演示版认证,在WebLogic服务器中不会得到任何警告。开发模式是提供给开发者快速运行用的,无需担心高级部署、配置和安全问题。
在产品模式中,WebLogic服务器默认使用JRockit作为默认JDK。此外,在产品模式中你不能使用自动部署功能,而且如果你为SSL使用演示版认证,WebLogic服务器会发出警告。在生产模式中,启动实例时会提示输入用户名和密码。
监听端口和监听线程
监听端口用来监听连接请求;当连接到来时,服务器会把监听线程分配给监听端口去接受连接请求,建立连接并把请求传递给socket muxer。
默认情况下,Oracle WebLogic服务器使用两个监听端口监听传入的连接请求。第一个监听端口我称之为标准监听端口,它接受任何类型的请求——不管是管理行为的请求还是用户请求。标准监听端口接受来自各种协议的连接,比如:HTTP、t3、IIOP、COM、LDAP和SNMP。当你启动WebLogic服务器实例时,它会启动监听两个不同的端口。第一个是标准普通文本端口,第二个是SSL监听端口。第二个监听端口也接受诸如HTTPS、t3s、IIOPS、COMS和LDAPS协议的客户端连接请求。
第二个监听端口称为管理端口。在配置管理端口时,你的请求必须使用SSL,你不能把任何管理请求指向标准端口。下面是服务器启动时显示两个默认监听端口行为的提示信息:
虽然使用管理端口是可选的,但要注意的是,只有在使用管理端口的时候,你才可以以备用模式启动服务器。在备用模式中,标准端口是不可用的,因此你必须使用管理端口来管理服务器。此外,还有两个独立的端口,一个用于管理行为操作,另一个用于应用程序流量,这是为了避免这两种类型之间网络流量的冲突。因此在生产环境下,你可以确保关键的管理行为(比如:启动和停止服务器,部署应用程序)不与应用程序通信竞争。管理端口仅接受安全SSL通信,所以通过该端口的所有连接都必须有认证。要注意,只有管理用户可以在管理端口认证;如果你启用了管理端口,就不会有管理通信在非管理端口被拒绝。
选择JVM
要运行Oracle WebLogic服务器,你需要一个Java虚拟机(JVM)。在你安装Oracle WebLogic服务器的时候,Oracle提供了两种类型的JVM供你选择:Sum Hotspot JVM和Oracle JRockit JVM。Oracle推荐你在生产环境中使用JRockit JVM,因为与Sum JVM相比,它提供了很多益处,包括更优越的性能,具备更好的可扩展性和管理功能。
在使用配置向导或者WebLogic脚本工具(WLST)创建域时,你可以为域配置JVM。在配置向导的域创建流程中,如果你在配置服务器启动模式中选择了产品模式,那么在JDK页中默认的JVM就是JRockit SDK。如果选择的是开发模式,你的域默认配置就是Sun JDK。
创建域之后要修改JDK配置也很容易。只需要在“startWebLogic.cmd”脚本(或者startWebLogic.sh脚本)中设置“JAVA_VENDOR”环境变量就可以了,如下面脚本所示:
$ set JAVA_VENDOR=BEA /* For JRockit JVM
$ set JAVA_VENDOR=sun /* for Sun JVM
在最新发布的WebLogic服务器中,你还可以给Oracle设置“JAVA_VENDOR”变量值,可以指定JRockit JVM。你可以在启动WebLogic服务器实例之后,通过查看命令窗口输出信息确认服务器的JVM版本。如果你对JRockit JVM不熟悉,那你一定要看看这款JVM的文档,会有一些特定供应商的选项。你可以使用JRockit运行任何用Sun JDK创建的应用程序。
使用Web服务器插件
虽然WebLogic服务器带有内建的web服务器,但你也可以使用第三方web服务器,比如Apache HTTP服务器。Web服务器可以被用于简单的外部请求,静态文本页;但是动态内容,比如由JSP或者Servlet开发的Java Web应用程序递交的内容,是由WebLogic服务器托管的,web服务器只是把这些请求转给WebLogic服务器。Web服务器可以使用WebLogic代理插件或者WebLogic服务器提供的名为“HTTPClusterServlet ”的servlet,把servlet和JSP请求转给集群。如果你想使用“HTTPClusterServlet
”代替代理插件,你必须把它配置为代理服务器计算机的默认web应用。
你可以在web服务器上安装WebLogic插件,这就允许服务器与运行于WebLogic服务器上的应用程序进行对话。WebLogic服务器上安装的自带插件支持以下Web服务器:
Apache HTTP 服务器
Microsoft IIS服务器
Sun Java System Web 服务器
你可以使用代理插件代理来自web服务器的请求,转给集群WebLogic服务器实例,为那些请求提供负载均衡和故障切换功能。你可以配置SSL协议,在Apache HTTP服务器插件和WebLogic服务器之间实现安全数据交换。
WebLogic服务器不仅可用来托管动态企业级应用,还可用作完整的web服务器,用来托管高容量网站和服务器静态HTML文件,以及servlet和JSP。