- 1 - 第 1 章:... WEBLOGIC服务器管理概述 7
域、管理服务器与受管服务器...7
启动管理控制台...8
运行时对象与配置对象...9
日志消息的集中访问...10
第 2 章:... 启动与终止WEBLOGIC服务器 11 WEBLOGIC管理服务器与WEBLOGIC受管服务器 ...11
启动时的错误消息...11
启动WEBLOGIC管理服务器 ...12
WebLogic服务器启动时的口令使用...12
从Start菜单启动WebLogic管理服务器...12
启动与终止Windows服务形式的WebLogic服务器...13
从命令行启动WebLogic管理服务器...13
用脚本启动管理服务器...15
在受管服务器运行时重启管理服务器...16
在同台机器上重启管理服务器...16
在其它机器上重启管理服务器...17
将WEBLOGIC受管服务器加入到域...17
启动WEBLOGIC受管服务器 ...17
通过脚本启动WEBLOGIC受管服务器...19
从老版本WEBLOGIC服务器升级 ...20
从管理控制台终止WEBLOGIC服务器...20
从命令行停止服务器...20
暂停和恢复受管服务器...21
将WEBLOGIC服务器设置为WINDOWS服务...21
删除WINDOWS服务形式的WEBLOGIC服务器...22
更改安装成Windows服务的服务器口令...22
注册启动与终止类...22
第 3 章:... 配置WEBLOGIC服务器与集群 29 服务器与集群配置概述...29
管理服务器的角色...29
启动管理控制台...30
动态配置的工作原理...31
集群配置规划...31
服务器配置任务列表...32
集群配置列表...34
新建一个域...34
第 4 章:... 监控WEBLOGIC域 35 概述 ...36
监控服务器...36
终止或暂停服务器...37
性能...37
集群数据...38
服务器安全...38
JMS ...38
- 2 -
JTA ...39
监控JDBC连接池...39
管理控制台的MONITORING页面一览表 ...39
第 5 章:... 用日志消息管理WEBLOGIC服务器 42 日志子系统概述...42
本地服务器的日志文件...43
启动日志...44
客户端日志...44
日志文件的格式...44
消息属性...45
消息目录...45
消息的严重级别...45
消息调试...46
浏览日志文件...46
查看日志...46
创建域日志过滤器...47
第 6 章:...分发应用 48 动态分发...53
启用与禁用自动分发...53
动态分发扩展目录格式的应用...53
动态卸载或重新分发应用...53
用管理控制台分发应用...48
第 7 章:...配置WEBLOGIC服务器的WEB组件 55 概述 ...55
HTTP参数...55
配置监听端口...56
WEB应用...56
Web应用与集群...57
指定缺省的Web应用...57
配置虚拟主机...58
虚拟主机与缺省Web应用...58
设置虚拟主机...59
设置HTTP访问日志...61
日志回旋...61
使用管理控制台设置HTTP访问日志...61
普通日志格式...62
使用扩展日志格式...63
防止“POST拒绝服务”攻击 ...67
设置WEBLOGIC服务器的HTTP隧道...67
配置HTTP隧道连接...68
建立客户端与WebLogic服务器之间的连接...68
用本地I/O提供静态文件服务(只适用于WINDOWS)...69
第 8 章:... 分发及配置WEB应用 错误!未定义书签 概述 ...错误!未定义书签。
分发WEB应用的步骤...错误!未定义书签。
- 3 - 目录结构...错误!未定义书签。
WEB应用的分发与重分发...错误!未定义书签。
修改Web应用中的组件...错误!未定义书签。
分发Enerprise应用中的Web应用...错误!未定义书签。
URIS与WEB应用 ...错误!未定义书签。
配置SERVLETS...错误!未定义书签。
Servlet映射...错误!未定义书签。
Servlet初始化参数...错误!未定义书签。
配置JSP...错误!未定义书签。
配置JSP标签库...错误!未定义书签。
配置欢迎页面...错误!未定义书签。
设置缺省的SERVLET...错误!未定义书签。
WEBLOGIC服务器如何解析HTTP请求...60
定制HTTP错误响应...错误!未定义书签。 在WEBLOGIC服务器中使用CGI...错误!未定义书签。 CGI的相关配置...错误!未定义书签。 请求CGI脚本...错误!未定义书签。 将请求重定向到另一个HTTP服务器...70
设置从服务器的代理...70
代理Servlet的分发描述符示例...71
把请求重定向到WEBLOGIC集群 ...72
设置HttpClusterServlet...72
HttpClusterServlet的分发描述符示例...73
配置WEB应用的安全性...75
设置对Web应用的授权...75
多Web应用、Cookies与身份验证...76
限制对Web应用资源的访问...76
在servlet中使用用户和角色...78
配置WEB应用的外部资源...79
在WEB应用中引用EJBS...80
配置会话管理...80
HTTP会话属性...81
会话超时...81
配置会话Cookies...81
使用长效 cookies...82
配置持久化会话...82
通用属性...82
使用基于内存的、单服务器的、非复制的持久存储...83
使用基于文件的持久存储...83
使用基于数据库的持久存储...83
使用URL重写...85
URL重写的编码指南...85
URL重写与无线访问协议(WAP) ...86
使用字符集与POST数据...86
第 9 章:... 配置APACHE-WEBLOGIC服务器插件 87 概述 ...87
平台支持...87
- 4 -
安装库...88
配置HTTPD.CONF文件...89
通过URL代理...89
通过MIME文件类型代理...90
APACHE-WEBLOGIC SERVER插件的参数 ...90
使用SSL协议...92
与SSL-APACHE配置有关的问题 ...93
HTTPD.CONF文件示例 ...93
配置文件示例...94
使用WebLogic集群的例子...94
不使用WebLogic集群的例子...94
配置虚拟主机的例子...95
分发APACHE-WEBLOGIC SERVER插件 ...95
第 10 章:...配置MICROSOFT-IIS插件 96 概述 ...96
连接池以及保持活动状态...96
安装库...97
更新IIS设置使请求转给WEBLOGIC...97
创建IISPROXY.INI文件...98
文件扩展名方式的请求代理...101
路径方式的请求代理...101
.ini文件示例...101
使用SSL...102
将SERVLETS请求转交给WEBLOGIC服务器处理...103
安装测试...103
第 11 章:...配置NETSCAPE插件 105 概述 ...105
连接池和保持激活...105
插件的配置...106
步骤1:复制库...106
步骤2:设置obj.conf文件...106
步骤3:更改MIME.types文件...109
步骤4:分发与测试NSAPI插件...110
参数...110
使用SSL协议...112
有关WEBLOGIC服务器集群失败转移的注意事项...113
0BJ.CONF文件示例(不使用WEBLOGIC集群的情况)...113
OBJ.CONF文件(使用WEBLOGIC集群的情况) ...114
第 12 章:...安全 117 安全配置概述...117
设置JAVA安全管理器 ...142
改变系统口令...118
指定一个安全域...119
配置缓存域...120
配置LDAP安全域...122
配置Windows NT安全域...125
- 5 -
配置UNIX安全域...127
配置RDBMS安全域...128
安装一个客户安全域...129
测试备用安全域与定制安全域...130
迁移安全域...130
定义用户...131
定义组...132
定义虚拟机的组...133
定义ACL...133
配置SSL协议...134
获得私钥与数字证书...134
保存私钥与数字签名...136
定义信托签名授权...137
定义SSL协议的配置字段...138
配置双向验证...139
CONFIGURING RMI OVER IIOP OVER SSL...140
保护口令...140
安装审计提供者...141
安装连接过滤器...142
配置安全上下文传播...144
第 13 章:...管理事务 147 事务管理概述...147
配置事务...148
事务的监控与日志记录...148
将服务器迁移到另一台机器中...149
第 14 章:... 管理JDBC连接 150 用管理控制台管理JDBC...150
JDBC配置指南...150
JDBC配置概述...150
配置JDBC驱动程序...151
连接池...156
设置连接池...156
管理连接池...156
多池 ...157
创建多池...157
管理多池...157
数据源...157
创建数据源...158
数据源管理...158
第 15 章:...管理JMS 159 配置JMS ...159
配置连接工厂...160
配置模板...160
配置收信方键(Destination Key)...161
配置存储库...161
配置JMS服务器...162
- 6 -
配置收信方...163
配置会话池...163
配置连接使用者...164
监控JMS ...164
从WEBLOGIC服务器失败恢复: ...165
重启或替换WebLogic服务器...165
编程考虑...166
第 16 章:... 管理JNDI 167 将对象装载到JNDI树 ...167
查看JNDI树...167
第 17 章:... 管理WEBLOGIC服务器许可证 174 安装WEBLOGIC许可证 ...174
修改许可证...174
- 7 -
1 WebLogic 服务器管理概述
本章将介绍 WebLogic 服务器的管理工具,内容如下:
域、管理服务器以及受管理的服务器 启动管理控制台
运行时对象与配置对象 对日志消息的集中访问
BEA WebLogic Server™ 包含了许多互相关联的资源。对这些资源的管理包 括下列任务:服务器的启动及终止,服务器以及连接池的负载平衡,资源配置 的监控,诊断并修改问题,监控并评估系统性能,分发 Web 应用、EJB 以及其 它资源。
WebLogic 服务器提供了一个健壮的基于 Web 的工具——管理控制台,它是执 行上述任务的主要工具。通过管理控制台,你可以访问 WebLogic 管理服务。
管理服务实现了 Sun 的 Java管理扩展标准(JMX),它是 WebLogic 资源管 理的基础。
你可以用管理控制台来配置资源的属性,分发应用及组件,监控资源的使用情 况(如服务器负载,Java 虚拟机的内存使用情况以及数据库连接池的负载),
查看日志消息,终止服务器,以及执行其它管理任务。
域、管理服务器与受管服务器
作为一个单元来管理的并相互关联的一组 WebLogic 服务器资源被称为域。一 个域可以包含一或多个 WebLogic 服务器,还可以包含 WebLogic 服务器集群。
域 的 配 置 使 用 扩 展 标 记 语 言 ( XML ) 定 义 。 install_dir/config/domain_name 目录中的 config.xml 文件定义了 域的配置,install_dir 是 WebLogic Server 软件的安装目录。
域是一个完备的管理单元。向域里分发应用的时候,该应用的各组成部分只能 分发到域之内的服务器上。如果域中包含集群,那么集群中的所有服务器都必 须属于同一个域。
J2EE 应用是一个组件集合,这些组件被组织成一个部署单元(例如 EAR,WAR, 或 JAR 文件)。应用所需要的各种组件——EJBs 或 Web 应用,服务器或集群,
JDBC 连接池等等都定义在一个域配置中。将这些资源组合在一个单一的、完备 的域中使我们可以以统一的方式来看待或访问这些相互关联的资源。
运行管理服务的 WebLogic 服务器称为管理服务器。管理服务集中管理并监控 域的所有资源。如果要对某个域执行管理操作,该域的管理服务器必须处于运
- 8 - 行状态。
一个包含多个 WebLogic 服务器的域只能有一个管理服务器,其它服务器称为 受管服务器。每个 WebLogic 受管服务器都会在启动时从管理服务器得到各自 的属性配置。
管理服务器和 WebLogic 受管服务器启动时都运行 webLogic.Server 类。
没有作为受管服务器启动的 WebLogic 服务器就是管理服务器。
在生产环境中,系统的典型配置是这样的:应用及业务逻辑组件被分发在多个 受管服务器上,而管理服务器则负责配置及监控受管服务器。管理服务器的作 用是配置与监控受管服务器。如果管理服务器宕机了,部署在受管服务器上的 应用不受影响,可以继续处理客户端的请求;这种情况下,当管理服务器被重 启后,可以重新获得对活动域的控制(详细内容,参见“受管服务器运行时重 启管理服务器”中的内容)。
把应用或应用组件分散到一组受管服务器上能带来一些好处。将 EJB 以及其它 组件分布到一组服务器上可以保证主应用的可用性。如果不同的组件完成不同 的功能可以提高系统的性能,例如将数据库访问与帐单事务分在不同的受管服 务器上处理。象 EJB 这种可以实现各种功能的组件或应用是可以被隔离开的,
从而使它的可用性不依赖于其它组件的状态。多个应用可以部署在一个域中。
当管理服务器使用这样的配置启动以后,我们说该域是活动(active)的。在 管理服务器运行期间,只有管理服务器才可以修改配置文件。管理控制台及命 令行管理工具提供了访问管理服务器的手段,你可以通过它们来修改域的配置。
一个域被激活后,可以通过管理控制台监控或配置整个域的资源。
配置存储库(configuration repository)还保存了其它非活动的配置文 件,你可以通过管理终端来编辑这些文件。配置存储库由位于/config 目录下 的 一 系 列 子 目 录 构 成 。 任 何 域 都 是 由 位 于 一 个 与 该 域 同 名 的 子 目 录 下 的 config.xml 唯一定义的。你可以通过管理控制台在启动时出现的欢迎页面上 的 Configuation 链接来访问非活动的配置文件。
启动管理控制台
管理控制台是一个 Web 应用,它使用 JSP 来访问管理服务器所管理的资源。
管理服务器启动以后(见“启动与终止 WebLogic 服务器”),在浏览器中使 用以下 URL 启动管理控制台。
http://hostname:port/console
其中 hostname 为管理服务器终端的名字或 IP 地址,而 port 则为管理控制 台用来监听请求的端口(缺省为 7001)。如果你是用安全套接层(SSL)来启动 管理服务器,那么必须在 http 后面加上 s,如下所示。
https://hostname:port/console
- 9 - 如果浏览器被配置为使用代理服务器来发送请求,要将浏览器配置改为不使用 代理服务器。如果管理服务器与浏览器位于同一台机器上,那么你要确保发送 给 localhost 以及 127.0.0.1 的请求没有被发送给代理服务器。
管理控制台的左窗格包含了一个树形结构,你可以通过这棵树来浏览数据表、
配置页面、监控页面,或者是访问日志文件。在树中选择一个项目(即用鼠标 左点项目),就可以显示某种类型的资源的相关数据或者显示某个资源的配置 页面以及监控页面。树的最左边的节点是一些文件夹,如果文件夹里包含有叶 子节点,那么你可以点击其左边的加号来展开树并访问叶子节点。
实体表(某特定类型的资源的数据表)是可以定制的,这可以通过减少或增加 显示不同属性的列来实现。你也可以点击表格上部的“Customize this table”链接对它进行定制。表中的每一列都对应于被选中一个属性。
启动管理控制台需要输入口令。第一次可以使用与启动管理服务器相同的用户 名和口令来启动管理控制台,然后你可以使用管理控制台来创建一组具有管理 权限的用户,此后这些用户就可以通过管理控制台来执行管理工作了。
运行时对象与配置对象
管理服务器中有许多类似于 JavaBean 的 Management Beans(MBeans)对 象。Mbeans 遵循 Sun 的 Java 管理扩展标准(JMX)。这些对象提供了对域 资源的管理访问。
管理服务器包含了配置 Mbeans 与运行时 Mbeans。管理 Mbeans 提供了配置 属性的 SET(写)与 GET(读)访问。
运行时 Mbeans 提供了域资源信息的快照,例如当前 HTTP 会话的信息与 JDBC 连接池的负载信息。如果域的某个资源(例如 Web 应用)被实例化,那么服务 器会创建一个 Mbeans 的实例来收集这个资源的信息。
当你从管理控制台访问某一资源的监控页面时,管理控制台执行 GET 操作获取 当前的属性值。
- 10 - 管理服务使域资源的属性可以被动态修改,即使 WebLogic 服务器正在运行,
也可以修改属性。许多属性改变不需要重启服务器就能生效。这时,修改后的 属性不仅表示当前属性值,还会被保存到配置文件中。(有关配置 WebLogic 服务器的更多信息,请参见“配置 WebLogic 服务器与集群”中的内容。)
除了基于 Web 的管理控制台外,WebLogic 服务器还提供了命令行工具来访问 域资源配置及监控属性。可以用命令行工具创建 script,使系统的管理自动 化。(请参见“WebLogic 域管理命令”)
日志消息的集中访问
通过管理服务器提供的域日志,你可以集中地访问所有服务器的关键系统消息。
通过 JMX 提供的基本功能,消息可以转发到订阅该消息的实体。订阅实体通过 设置过滤器来选择感兴趣的消息。本地服务器在启动时发向其它网络实体的信 息称为一个布告。JMX 布告使域内所有服务器的关键日志消息都被转发给管理 服务器。在 WebLogic 受管服务器启动时,管理服务器会进行注册以便接受关 键 日 志 消 息 。 这 些 消 息 被 存 储 在 域 日 志 中 。 管 理 服 务 器 向 域 里 的 每 一 个
- 11 - WebLogic 服务器注册一个域日志过滤器来选择需要转发的消息。你可以通过 管理控制台改变域日志过滤器,查看域日志以及查看本地服务器日志。(详细 内容,请参见“使用日志消息管理 WebLogic 服务器”)
启动与终止 WebLogic 服务器 本章将介绍以下内容:
WebLogic 管理服务器与 WebLogic 受管服务器 启动 WebLogic 管理服务器
将一个 WebLogic 受管服务器加到域中 启动 WebLogic 受管服务器
从老版本 WebLogic 服务器升级 通过管理控制台终止 WebLogic 服务器 受管服务器暂停和恢复
将 WebLogic 服务器设置为 Windows 服务 注册启动类与终止类
WebLogic 管理服务器与 WebLogic 受管服务器
一个 WebLogic 域由多个 WebLogic 服务器组成,其中必须有一个管理服务器,
该域中的其它 WebLogic 服务器被称为受管服务器。你可以将服务器启动为 WebLogic 管理服务器或 WebLogic 受管服务器。
管 理 服 务 器 是 WebLogic 服 务 器 的 缺 省 角 色 。 因 此 如 果 域 中 只 有 一 个 WebLogic 服务器,那么该服务器的角色就是管理服务器。在一个多服务器的 域中,只有当服务器在启动时被要求从一个运行着的管理服务器获得配置时才 会成为受管服务器。
管理服务器控制对 WebLogic 域配置的访问以及提供诸如监控及日志消息浏览 等功能。用户通过管理控制台来访问管理服务器所提供的管理服务。
WebLogic 受管服务器在启动时会从管理服务器获得它的配置。因此启动一个 多服务器的域只需要两个步骤:先启动管理服务器,然后启动受管服务器。
注意:受管服务器的版本必须与管理服务器的版本相同。
启动时的错误消息
在 WebLogic 启动时,标准日志子系统还不能用于日志记录。因此,任何在启 动时发生的错误都会输出到 stdOut 以及一个特殊的启动日志文件——
servername-startup.log 文件中(其中 servername 是服务器的名字)。
如果启动成功,那么该日志中的最后一条消息会指向本地服务器的日志文件所
- 12 - 在的位置。有关 WebLogic 服务器的日志子系统的更多信息,请参见“利用日 志消息管理 WebLogic 服务器”。
启动 WebLogic 管理服务器
启动 WebLogic 管理服务器有以下多种方式:
从命令行启动
启动 WebLogic 服务器的命令可以手工输入,也可以把启动命令写在一个脚本 中,从而避免每次启动服务器时都要重输命令。有关 WebLogic 服务器提供的 脚本示例的详细信息,请参见“使用脚本启动 WebLogic 受管服务器”中的内 容。
从 Start 菜单启动 WebLogic 服务器(只用于 Windows)
如果你将 WebLogic 服务器安装为一个 Windows 服务,那么在计算机启动 时 WebLogic 服务器将自动启动。
WebLogic 服务器启动时的口令使用
安装 WebLogic 的过程中,会要求你输入一个用于 WebLogic 启动的口令。如 果你是用脚本来启动管理服务器与受管服务器,那么应该在脚本中将口令加入 命令参数(请参见“从命令行启动 WebLogic 管理服务器”)。如果启动服务 器的脚本没有将口令指定为命令行参数,又没有 password.ini 文件,那么在 启动时系统会提示你输入口令。
从 Start 菜单启动 WebLogic 管理服务器
如果 WebLogic 服务器是通过 BEA 安装程序安装的,那么你可以使用 Windows 启动菜单中的 WebLogic Server 快捷方式启动 WebLogic 管理服务器。选 择:
Start-> Programs-> BEA WebLogic E-Business Platform-> Weblogic Server Version -> Start Default Server 其中 version 是指 WebLogic 服务器软件的版本号
调 用 Start 菜 单 中 的 WebLogic Server 快 捷 方 式 实 际 上 就 是 启 动 了 startWebLogic.cmd 脚 本 ( 该 脚 本 位 于 install_dir/config/domain_name 目录下,其中 domain_name 是指域 的名字,install_dir 是指 WebLogic 服务器软件的安装目录)。
- 13 -
启动与终止 Windows 服务形式的 WebLogic 服务器
如果把 WebLogic 安装成 Windows 服务,那么 WebLogic 服务器会在计算机 启动时自动启动。执行 startWebLogic.cmd 脚本会将 WebLogic 服务器启 动为管理服务器。参见“从命令行启动 WebLogic 管理服务器”中的内容。
要使 WebLogic 服务器作为 Windows 服务运行,需要在安装时设定。有关安 装及删除 Windows 服务形式的 WebLogic 服务器,请参见“将 WebLogic 服 务器设置为 Windows 服务”。
你可以按以下步骤从服务控制面板启动或终止 WebLogic 服务器:
1.选择 Start->Settings->Control Panel(编者注:对应中文 windows 就是开始->
设置->控制面板->管理工具)
2.双击服务控制面板,这样便打开了服务控制面板
3.在服务控制面板中找到 WebLogic 服务器。如果 WebLogic 已经启动,你可以 使用 Stop 按扭来终止 WebLogic 服务器。如果 WebLogic 已经终止,那么 Start 按扭就可以被用来启动 WebLogic 服务器。
Windows 服务有三种模式:自动,手动与禁用。你可以通过 Startup 按钮来 选择其中一种模式。
从命令行启动 WebLogic 管理服务器
因为 WebLogic 服务器是一个 Java 应用,因此与其它 Java 应用一样,你可 以使用 Java 命令来启动 WebLogic 服务器。启动 WebLogic 服务器的参数非 常长,因此如果要从命令行来启动它,那么你必须输入一长串的参数,这是非 常烦人的。为了保证启动命令的正确性,BEA 建议你将命令写入到一个脚本中,
然后用这个脚本来启动 WebLogic 服务器。
以下参数是用 Java 命令行启动 WebLogic 管理服务器所必需的:
Java 堆内存的最大与最小值
例如,你想使用缺省的 64M 堆内存来启动 WebLogic 服务器,那么你就应该 使用 java –ms 64m 与–mx 64 选项来启动服务器。
上述参数值会影响 WebLogic 服务器的性能,上面所提供的值只是一个缺省 值。在生产环境中,你应该仔细考虑应用及环境所要使用的堆内存的大小。
设置 java –classpath 选项
该选项的最简要的设置可以参见“设置类路径选项”
指定服务器的名字
域的配置通过服务器名字指定。在命令行中通过以下参数来指定服务器的名 字:
-Dweblogic.Name=Servername
- 14 - 缺省值为 myserver。
提供用户名与口令
缺省用户为 system,口令为安装时所输入的口令。要将 WebLogic 管理服 务器启动为某一特定用户,那么命令行应该使用以下参数:
-DwebLogic.management.username=username 使用以下参数给出该用户的口令:
-DwebLogic.management.password=password
如果你不是从 WebLogic 根目录启动 WebLogic 服务器,那么需要指定 WebLogic 根目录的位置。
域的安全资源以及配置存储库(缺省为\config 目录)位于 WebLogic 根目 录下。你可以用以下参数在命令行中指定 WebLogic 的主目录:
-Dweblogic.RootDirectory=path
其中 path 是主目录的路径。如果命令行中没有指定该属性,那么当前目录就 被设置为该属性的动态值。
如果要使用 SSL 协议,那么在启动时需要把私钥密码传递给服务器以便服 务器可以对 SSL 私钥文件解密。在命令行中用以下参数来传递 SSL 私钥口 令:
-Dweblogic.pkpassword=pkpassword 其中 pkpassword 是 SSL 私钥密码。
在命令行中使用以下参数可以在启动管理服务器时指定域配置文件的名字:
-Dweblogic.Domain=domain_name
其中 domain_name 是域的名称。用来启动域的配置文件保存在同名子目录 下。
配置存储库由/config 目录下的域组成。配置存储库可能包含多个域配置。
每 个 域 分 别 位 于 一 个 子 目 录 中 , 子 目 录 的 名 字 与 域 的 同 名 。 指 定 domain_name 时,实际指定的是这个子目录的名字。所指定的子目录包含了 一个 XML 配置文件(config.xml)以及对应域的安全资源(见下面的例子)。
域的配置由 config.xml 文件指定。
图1.1 – 配置存储库中域目录中的内容
- 15 - 启动管理服务器所使用的域配置使这个域成为活动域。
在命令行中还可以指定 WebLogic 配置属性的值。所指定的值成为属性的 运行时值。而保存在永久配置中的值将被忽略。在命令行中设置 WebLogic 属性的值采用以下格式:
-Dweblogic.attribute=value
设置类路径选项:
以下参数必须包含在 java 命令行的 classpath 选项中 /weblogic/lib/weblogic_sp.jar
/weblogic/lib/weblogic.jar
WebLogic 服 务 器 还 包 含 一 个 名 为 Cloudscape 的 数 据 库 系 统 。 Cloudscape 数据库系统是纯 Java 的数据库管理系统。如果你想使用这 个 DBMS,那么 CLASSPATH 还应该包含:
/weblogic/samples/eval/cloudscape/lib/cloudscape.jar 如果使用 WebLogic Enterprise Connectivity,那么类路径中还应
该包含:
/weblogic/lib/poolorb.jar
其中 weblogic 指 WebLogic 服务器的安装目录。
用脚本启动管理服务器
WebLogic 软件提供了一个用于启动 WebLogic 服务器的脚本示例。你可以根
- 16 - 据环境及应用的需要对该脚本做适当的修改。启动管理服务器与启动受管服务 器使用不同的脚本。启动管理服务器的脚本为 startWebLogic.sh(UNIX 环 境)与 startWebLogic.cmd(Windows 环境)。这些脚本位于域配置子目录 下。
使用 WebLogic 软件所提供的脚本示例时,应注意以下问题:
类路径的设置与目录名称
将变量 JAVA_HOME 的值改为 JDK 所在的目录
UNIX 用户还要修改示例脚本文件的权限,以使该文件可以被执行。例如 chmod +x startAdminWebLogic.sh
在受管服务器运行时重启管理服务器
在生产环境中,我们建议将包含关键商业逻辑的应用分发在受管服务器中。这 种情况下,管理服务器所起的作用只是配置与监控受管服务器。因此,在这种 配置下,即使管理服务器不可用,运行在受管服务器中的应用仍然可以继续处 理客户端请求。
管理服务器在启动时,会复制一份用来启动活动域的配置文件。所复制的文件 被保存为:
install_dir/config/domain_name/config.xml.booted
其中 install_dir 指 WebLogic 服务器软件所在的目录。只有当管理服务器 成功启动并可以处理请求时,它才会创建 config.xml.booted 文件。
你应该对这个文件进行备份,它可以帮助你从被更改过的活动配置回退到以前 的配置。
如果在受管服务器运行时,管理服务器发生失败,你不需要重启受管服务器来 恢复对域的管理。如何恢复对活动域的管理取决于是否可以在同台机器上启动 管理服务器。
在同台机器上重启管理服务器
在受管服务器正在运行的情况下重启管理服务器时,如果让管理服务器执行寻 找操作,那么管理服务器会寻找到所有正在运行的受管服务器。要让管理服务 器执行寻找受管服务器的操作,需要在启动管理服务器的命令行中使用以下参 数:
-Dweblogic.management.discover=true
该 属 性 的 缺 省 值 为 false 。 域 配 置 目 录 中 的 running-managed-servers.xml 文件列出了该管理服务器能识别出的受 管服务器。如果管理服务器被指示在启动时执行寻找操作,那么它将使用这个
- 17 - 列表来检查运行着的受管服务器。
重启管理服务器不会改变受管服务器的运行时配置。因此如果你修改了那些只 能静态配置的属性,那么只有重启受管服务器才能使更改生效。管理服务器的 发现操作不会使管理服务器监控受管服务器或者是更改动态配置属性的运行时 值。
在其它机器上重启管理服务器
如果机器崩溃导致你无法在先前运行管理服务器的机器上重启管理服务器,你 可以按照以下步骤来恢复对受管服务器的管理。
1.将另一台机器的主机名设为先前管理服务器所在服务器的主机名。
2.在这台将作为管理服务器的新机器上安装 WebLogic 服务器软件(如果该机器 上没有安装 WebLogic 软件的话)
3.先前用来启动管理服务器的机器中的/config 目录(the configuation repository)
必须可以被新机器使用。/config 目录可以通过备份介质获得也可以通过 NFS mount 获得。该目录下包含用来启动活动域的配置文件(config.xml)以及安装在 /applications 目录下的应用与组件。
4.在命令行中加入以下参数来重启新机器中的管理服务器 -Dweblogic.management.discover=true
使用上述参数会强制管理服务器去检测正在运行的受管服务器。
将 WebLogic 受管服务器加入到域
在运行管理服务器之前,你必须在域的配置文件中添加该服务器的条目。步骤 如下
1.启动域中的管理服务器
2 . 在 浏 览 器 中 输 入http://hostname:port/console 以 启 动 管 理 控 制 台 。 其 中 hostname是运行管理服务器的主机名, port是管理服务器的监听端口(缺省 为 7001)。
3.在管理控制台中为服务器所在的机器创建一个条目(Machines->Create a new machine, Servers->Create a new server)(如果该服务器与管理服务器在 不同的机器上)
有关服务器配置的更多内容,请参见“配置 WebLogic 服务器集群”中的内容。
启动 WebLogic 受管服务器
在把 WebLogic 受管服务器加入到配置中以后(见“将受管服务器加入到域 中”),你可以用 java 命令行启动受管服务器。启动受管服务器的命令可以
- 18 - 手工输入,也可以编写成脚本以避免每次重启服务器时重复输入相同的内容。
有关 WebLogic 所提供的脚本示例请参见“用脚本启动 WebLogic 受管服务器”
中的内容。
受管服务器与管理服务器启动参数的主要区别在受管服务器需要一个用来识别 管理服务器位置的参数,受管服务器通过这个参数从管理服务器获取配置。如 果命令中没有这个参数,那么 WebLogic 服务器将启动为管理服务器。
以下是启动 WebLogic 受管服务器所必须的参数:
指定 Java 堆的最大内存与最小内存
例如,可以为 WebLogic 服务器分配 64M Java 堆内存,这是一个默认值。
相应的选项为:java –ms64 与 –mx64。
这两个参数的值对 WebLogic 服务器的性能有很大影响。在生成环境中,你 应该谨慎考虑适合于应用与环境的值。
设置 java –classpath 选项
该选项的最基本设置请参见“设置类路径选项”中的内容 指定服务器的名字
当 WebLogic 受管服务器从管理服务器请求自己的配置信息时,管理服务器 通过服务器名来识别该受管服务器,这样管理服务器就可以将合适的配置信息 传递给受管服务器。因此,在启动受管服务器时,你必须设置服务器名。你可 以在启动 WebLogic 受管服务器的命令中使用以下参数:
-Dweblogic.Name=servername 提供用户名与口令
缺省的用户为 System,System 用户的口令是在安装时指定的。要用其它用 户来启动 WebLogic 受管服务器,那么在命令行中使用以下参数:
-Dweblogic.management.password=password
有关如何使用口令的内容,请参见“在启动 WebLogic 服务器时使用口令”。
如果要使用 SSL 协议,那么在启动时需要传入私有密钥口令以便服务器能 够对 SSL 私钥文件进行解密。在启动服务器的命令中使用以下参数可以将 SSL 私有密钥传递给服务器。
-Dweblogic.pkpassword=pkpassword 其中 pkppassword 指的是私有密钥口令 指定管理服务器的主机名与监听端口
在启动受管服务器时,必须指定管理服务器的主机名与监听端口,因为受管服 务器需要从管理服务器获得配置信息。你可以在启动受管服务器的命令行中使 用以下参数:
-Dweblogic.management.server=host:port 或
-Dweblogic.management.server=http://host:port
其中 host 是管理服务器所在机器的名字或 IP 地址,port 是管理服务器的
- 19 - 监听端口。缺省情况下,该监听端口为 7001
如果使用 SSL 与管理服务器通信,那么管理服务器必须指定为:
-Dweblogic.management.server=https://host:port
如果管理服务器与受管服务器的通信采用 SSL 协议,那么你应该在管理服务 器中启用 SSL。详细内容请参见“安全管理”。
注意:如果 WebLogic 服务器在启动时没有指定管理服务器的位置,那么该 WebLogic 服务器将启动为管理服务器。
注意:因为受管服务器从管理服务器获得其配置,因此所指定的管理服务器必 须与受管服务器在同一个域中。
你可以在命令行中指定 WebLogic 配置属性的值。由这种方式设置的值将 成为该属性的运行时值,保存在永久配置中的值将被忽略。在命令行中指定 WebLogic 属性值使用以下形式:
-Dweblogic.attribute=value
通过脚本启动 WebLogic 受管服务器
WebLogic 提供了用来启动 WebLogic 服务器的脚本示例。你可以根据实际运 行环境与应用的情况修改脚本示例。启动管理服务器与受管服务器的脚本是不 一样的。启动受管服务器的脚本为 startMangagedWebLogic.sh(Unix)与 startManagedWebLogic.cmd(Windows)。这些脚本位于域的配置子目录 中。
使用脚本示例时应注意以下事项:
路径的设置与目录名称
将变量 JAVA_HOME 的值设置为 JDK 所在的目录
UNIX 用户还应修改示例脚本的权限,使该文件成为可执行文件。例如:
chmod +x startManagedWebLogic.sh 以下是用脚本启动受管服务器的两种方式:
如果已经设置了 SERVER_NAME 与 ADMIN_URL 环境变量,调用启动脚本时 就不需要提供这两个参数的值了。SERVER_NAME 变量应该设为要启动的 WebLogic 受管服务器的名字。ADMIN_URL 设置为管理服务器所在机器的 主机名及其监听端口(缺省为 7001)。例如
set SERVER_NAME=bigguy set ADMIN_SERVER=peach:7001 startManagedWebLogic
你可以在调用启动脚本的命令中传入受管服务器的名字与管理服务器的 URL。
startManagedWebLogic server_name admin:url
其中 server_name 是要启动的受管服务器的名字,admin_url 可以是
- 20 - http://host:port 或者是 https://host:port,其中 host 是指管理服 务器所在机器的主机名或者是 IP 地址, port 是管理服务器的监听端口。
从老版本 WebLogic 服务器升级
如果你想用老版本的启动脚本来启动 WebLogic 6.0 服务器软件,那么你需 要对该脚本作一些修改。以下是 WebLogic6.0 与以前版本的主要不同点:
动态类装载
在启动以前版本的WebLogic服务器时,需要设置两种类路径(Class Path) 1.Java 系统类路径
2.WebLogic 类路径
WebLogic 类路径属性用于动态类装载的配置。6.0 版本的 WebLogic 不再 使用 WebLogic 类路径属性,同时对 Java 系统路径也做了修改。因此,启 动老版本 WebLogic 软件的脚本需要做相应的修改才能用来启动 WebLogic 6.0 服务器。在这个版本中,需要动态装载的类由应用负责设置,这可以通 过应用的 XML 描述符文件指定类的位置来实现。
有关 Java 类路径设置的信息,请参见“设置 Classpath 选项”。
命令中不需要指定许可证文件或 Policy 文件所在的位置
管理服务器与受管服务器的区别是在这个版本才出现的。如果你想将 WebLogic 服务器启动为受管服务器,那么在启动时,需要有指向一个正 在运行着的管理服务器的 URL。
启 动 WebLogic 受 管 服 务 器 使 用 新 的 启 动 脚 本 — — startManagedWebLogic.cmd ( Windows ) 与 startManagedWebLogic.sh(UNIX),而原来的 startWebLogic.sh 与 startWebLogic.cmd 则用来启动管理服务器。
从管理控制台终止 WebLogic 服务器
要终止一个 WebLogic 服务器:
在管理控制台的域树上(位于左边窗格),选择要停止的服务器
选择 Monitoring->General 标签页,点“Shutdown this server”
链接
从命令行停止服务器
你可以用以下命令停止 WebLogic 服务器:
java weblogic.Admin -url host:port SHUTDOWN -username adminname -password password 其中:
- 21 - host 是运行 WebLogic 服务器的主机名或 IP 地址。
port 是 WebLogic 服务器的监听端口(缺省为 7001)。
adminname 指的是具有 WebLogic 服务器管理员权限的用户,缺省为 system。
password 指的是 adminname 用户的口令。
暂停和恢复受管服务器
你可以通过管理控制台暂停一个 WebLogic 受管服务器,此时,WebLogic 受 管 服 务 器 只 接 受 来 自 管 理 服 务 器 的 请 求 。 这 种 情 况 的 典 型 应 用 是 将 一 个 WebLogic 服务器作为另一台服务器的“热”备份运行。该备份服务器将一直 保持暂停状态,直到你让它处理请求为止。
注意:被暂停的 WebLogic 服务器只是不响应 HTTP 请求,而 Java 应用与 RMI 调用没有被暂停。
要暂停一个 WebLogic 受管服务器:
在管理控制台的域树上(位于左边的窗格),选择你要暂停的服务器。
在 Monitoring->General 标签页上,选择“Suspend this server”
链接。
要使受管服务器恢复对客户端请求的处理:
在管理控制台的域树上,选择需要恢复的服务器。
在 Monitoring->General 标签页上,选择 Resume this server 链 接
将 WebLogic 服务器设置为 Windows 服务
WebLogic 服务器可以作为 Windows 服务运行。如果你将 WebLogic 安装为 Windows 服 务 , 那 么 , 在 启 动 计 算 机 时 , 系 统 会 调 用 启 动 脚 本 startWeblogic.cmd 而启动 WebLogic 服务器。WebLogic 服务器是启动 为管理服务器还是受管服务器取决于调用 WebLogic 服务器的 java 命令中的 参数设置。具体内容请参见“通过命令行启动 WebLogic 受管服务器以及 WebLogic 管理服务器”。
要使 WebLogic 服务器以 Windows 服务的形式运行或者不再将其运行为 Windows 服务,你首 先要有管理 员级权限。 要将 WebLogic 服务器作为 Windows 服务启动,需要:
1. 找到 weblogic\config\mydomain 目录(其中 weblogic 是安装 WebLogic 服务 器的目录,mydomain 是与你所在的域对应的子目录)。
2.执行 installNTService.cmd 脚本。
- 22 -
删除 Windows 服务形式的 WebLogic 服务器
删除 Windows 服务形式的 WebLogic 的步骤如下:
1.定位到 weblogic\config\mydomain 目录(其中 weblogic 是安装 WebLogic 服 务器的目录,而 mydomain 是域配置所在的子目录)。
2.执行 uninstallNTService.cmd 脚本
你也可以从 Windows 的启动菜单中卸载 WebLogic 服务。
更改安装成 Windows 服务的服务器口令
如 果 你 将 缺 省 服 务 器 安 装 为 Windows 服 务 , 那 么 创 建 服 务 会 用 到 安 装 WebLogic 软件时键入的口令。如果要更改这个口令,你应该:
1.使用 uninstallNTService.cmd 脚本来卸载作为 Windows 服务的 WebLogic 服 务器(该脚本位于 install_dir/config/domain_name 目录下,其中 install_dir 是 安装 WebLogic 产品的目录)。
2.installNTservice.cmd 脚本包含了以下命令:
rem *** 安装服务
“C:\bea\wlserver6.0\bin\beasvc” -install -svcname:myserver -javahome:”C:\bea\jdk130” -execdir:”C:\bea\wlserver6.0”
-extrapath:”C\bea\wlserver6.0\bin” -cmdline:
%CMDLINE%
在上述命令后加上以下命令:
-password:”your_password”
其中 your_password 是新口令
3.执行更改后的 installNTservice.cmd 脚本。这将使用更新的口令创建一个新服 务
注册启动与终止类
你可能想在 WebLogic 启动或正常关闭时执行某些任务,那么 WebLogic 所提 供的启动类与终止类就是实现这些任务的一种机制。启动类是在 WebLogic 服 务器启动或重启时自动装载并执行的 Java 程序,启动类在所有的服务器初始 化任务都完成后才会被装载及执行。
终 止 类 的 工 作 原 理 与 启 动 类 相 同 。 当 你 通 过 管 理 控 制 台 或 者 是 使 用 weblogic.admin shutdown 命令来终止 WebLogic 服务器时,终止类会自 动装载并执行。
要使 WebLogic 服务器使用启动类或终止类,你必须通过管理控制台注册这些 类。
- 23 - 注册启动类或终止类的步骤如下:
1.通过管理控制台的 Domain 树(位于左窗格)访问 Startup & Shutdown 表。
在这个表中创建启动类与终止类的条目。
2.在 Configuration 标签页中,为所添加的终止及启动类提供名字及其它必要的 参数。
详细信息,请参见管理控制台在线帮助以下部分的内容:
启动类 终止类
- 24 -
2 节点管理器
本章将介绍以下内容:
节点管理器(Node Manager)概述 配置与启动节点管理器
受管服务器的远程启动与 Killing
节点管理器概述
节点管理器是一个 Java 应用程序。借助该应用,你可以从管理控制台远程地 启动或 kill WebLogic 受管服务器。节点管理器是单独的一个 Java 应用,
随同 WebLogic 服务器软件供应。
你可以通过管理控制台来结束受管服务器,另一种方式是用节点管理器 kill 远程受管服务器。当远程服务器被 hung 或没有响应时,就需要杀掉远程服务 器进程。
为了能远程启动受管服务器,首先要在受管服务器所在的机器上配置并运行节 点管理器。一个节点管理器进行可以负责一台机器上所有受管服务器的远程启 动与 killing。为了保证节点管理器的可用性,应该把节点管理器配置为 UNIX 机器的守护程序或 Windows NT 机器的 Windowns NT 服务。这保证了机器上 的管理服务器可以用来启动受管服务器。
如果一台机器中运行了节点管理服务器,那么当它获得管理服务器的请求后,
可以启动或杀掉这台机器上所安装配置的任何受管服务器。节点管理器与管理 服务器之间的通信采用安全套接字层(Secure Socket Layer)。
WebLogic 服务器在启动时,会将各种启动与错误消息打印到 STDOUT 或 STDERROR 中。节点管理器将这些信息保存在节点管理器日志目录中的文件里,
这些消息同时会显示在管理控制台的右窗格中。
缺省情况下,节点管理器的日志文件保存在节点管理器被启动时所在的那个目 录中。节点管理器为每个由它启动的受管服务器创建一个日志文件子目录。
- 25 -
配置与启动节点管理器
节点管理器与管理服务器之间的所有通信都使用安全套接层以提供身份认证与 加密。同时还用客户端验证保证节点管理器与管理服务器之间的所有通信都使 用双向认证。为了进一步提高安全性,节点管理器还保存了一个可靠主机的列 表。节点管理器只接受这些主机上的管理服务器所发出的命令。因此你需要为 节点管理服务器编辑一个可靠主机列表文件,在文件中为每个可以向节点管理 器 发 出 命 令 的 管 理 服 务 器 所 在 主 机 加 上 一 行 。 该 主 机 列 表 文 件 的 名 字 为 nodemanager.host,安装在\config 目录中。缺省情况下,该文件包括以 下两个条目:
localhost 127.0.0.1
在典型的生成环境中,节点管理器与管理服务器不会运行在同一主机中。因此,
应该编辑该可靠主机文件,使它只包含可以启动或 killing 本机受管服务器的 管理服务器所在机器的主机名或 IP 地址。可靠主机文件的每个条目由一行构 成,列出了管理服务器所在机器的 DNS 主机名或 IP 地址。
有关数字证书与安全套接层的更多信息,请参见“安全管理”中的内容。
启动节点管理器
启动节点管理器之前,首先应该保证 JAVA_HOME 环境变量指向了 JDK 的根目
- 26 - 录。节点管理器需要用到 JDK。以下是一个 Window NT 中的例子:
set JAVA_HOME=D:\bea\jdk130
节点管理器 JDK 版本的要求与 WebLogic 服务器的 JDK 版本要求一样。
类路径必须作为 Java 命令行的选项或者作为一个环境变量来设置。下面(在 Window NT 中)是一个将类路径设置为一个环境变量的例子。
set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar 启动节点管理器的命令为:
java weblogic.nodemanager.NodeManager
命令行参数
应该用以下参数指定节点管理器所在机器的 IP 地址或主机名:
-Dweblogic.nodemanager.listenAddress=address
节点管理器监听管理服务器请求的缺省端口号为 5555,你可以用以下启动参数 设置监听端口号:
-Dweblogic.nodemanager.listenPort=port
节点管理器为它所负责的每个受管服务器创建日志文件。缺省情况下,这些子 目录位于 NodeManagerLogs 目录中,你可以用以下启动参数改变目录的位 置:
-Dweblogic.nodemanager.saveFilesDirectory=path
节点管理器使用安全套接层与管理服务器进行通信。因此启动节点管理器时,必须指定一个数字证书。应 该用以下参数指定数字证书所在的位置:
-Dweblogic.nodemanager.certificateFile=path_to_cert
如果在可靠主机文件中使用的是主机名而不是 IP 地址,那么应该包括以下启动 参数:
-Dweblogic.nodemanager.reverseDnsEnabled=true 缺省情况下,DNS 是禁用的。
可以用以下参数指定可靠主机文件所在的位置:
-Dweblogic.nodemanager.trustedHosts=path 其中 path 是指文件 nodemanager.hosts 所在的位置。
- 27 -
类路径选项
节点管理器要用到一些 WebLogic 服务器同样也要使用的 Java 类。在启动管 理服务器时,-classpath 选项中包含以下值:
/weblogic/lib/weblogic_sp.jar /weblogic/lib/weblogic.jar
启动管理服务器
为了让管理服务器能够使用节点管理器来启动或结束 WebLogic 受管服务器,
需要完成一些事情。你可以使用 WebLogic 管理控制台来完成这些任务。
步骤 1:创建一个机器配置条目
你应该在域配置中每个安装了受管服务器的机器创建一个条目,步骤如下 1.运行管理服务器,调用管理控制台(如果还没有被运行起来)
2.在左窗格中选择 Machines 节点以显示机器表格
3.选择表上部的 Create a new Machine 链接(或 Create a new UNIX Machine)。
4.填写这个机器的信息并点 Apply 按钮创建一个新的机器条目。
步骤 2:配置每个机器的节点管理器
对于每个要使用节点管理器的机器,应该相应地改变这个机器的配置条目:
1.在管理控制台中,选择 Machines->machine_name->Node Manager。其中 machine_name 是运行节点管理器的机器的名字。
2.填写 Node Manager 标签页的以下字段:
Listen Address:监听管理服务器请求的节点管理器所在机器的 IP 地址或 主机名。该监听地址为你在启动节点管理器时所指定的地址。
Listen Port:该字段的值必须与你在启动节点管理器时所指定的端口号一 样。
管理服务器用来与该节点管理器会话的证书。默认证书为 democert。在生成 环境中,建议你换一个证书。
3.点 Apply 按钮。
步骤 3:配置受管服务器的启动信息
如果要用节点管理器启动 WebLogic 受管服务器,那么应该为它提供启动受管
- 28 - 服务器所需要的启动参数与选项。步骤如下:
1.在管理控制台中,选择 server_name->Configuration->start 其中 server_name 是受管服务器的名字。
2.输入受管服务器启动所需要的类路径
Classpath 选项中至少应该指定以下内容:
/weblogic/lib/weblogic_sp.jar /weblogic/lib/weblogic.jar
该选项可能还需包含启动受管服务器所用到的 JDK 的根目录。有关设置类路 径的更多信息,可以参见“启动与终止 WebLogic 服务器”中的内容。
3.在 Arguments 字段中输入启动命令所需要的参数。
例如,你想设置 Java 堆内存的最大最小值。可以使用-ms64m 与-mx64m 选项 将默认的 65M java 堆内存指定给 WebLogic 服务器。
不需要指定服务器的名字,也不需要指定用户名与口令 远程启动与 Killing 受管服务器
如果在受管服务器所在的机器中运行了节点管理器,可以按以下步骤启动受管 服务器:
1.启动管理控制台(如果它还没有运行起来)
2.在导航树(位于左窗格)中右点服务器的名字 3.选择 Start this server…
在启动管理服务器时,通常打印到 STDOUT 与 STDERROR 的消息会显示在管理 控制台的由窗格中。这些消息同时被写到节点管理器的日志文件中。
终止受管服务器的方式也一样:
1.右点左窗格中受管服务器的名字 2.选 kill this server …
- 29 -
3 配置 WebLogic 服务器与集群
本章将介绍以下内容:
服务器与集群配置概述 管理服务器的角色 启动管理控制台 动态配置的原理 服务器的配置任务列表 集群的配置任务列表 创建一个新的域
服务器与集群配置概述
一个域的 WebLogic 服务器与集群的永久配置保存在一个 XML 配置文件中,你 可通过以下途径改变这个文件:
通过管理控制台。管理控制台是用来管理与监控域配置的一个图形用户界 面。这是改变或监控域配置的主要方式。
使用 WebLogic 服务器所提供的配置应用编程接口,以编程的方式修改配 置属性。
通过行 WebLogic 服务器的命令行工具访问域资源的属性。这主要是为那 些希望通过脚本自动管理域资源的用户提供的。
管理服务器的角色
无论你使用上述方式的哪一种,在修改域的配置之前首先要运行管理服务器。
管理服务器是运行管理服务的 WebLogic 服务器。管理服务提供了 WebLogic 服务器功能,同时还提供了管理域所需要的功能。
缺省情况下,WebLogic 服务器的实例会成为管理服务器。当管理服务器启动 时,它会从 WEBLOGIC_HOME 目录的子目录 Config 目录中装载配置文件。与 该管理服务器关联的每一个域在 config 目录下都有同名子目录。域的配置文 件就存放在同名子目录的 config.xml 文件中。缺省情况下,管理服务器在启 动时,首先会在缺省子目录下查找配置文件(config.xml),缺省子目录的 名字为 mydomain。
管理服务器启动后,会创建名为 config.xml.booted 的配置文件备份并将它
- 30 - 保存在相应的域目录下。如果在服务器的生命周期中,config.xml 文件遭到 破坏(当然这种情况极为少见),你就可以将配置恢复到该备份文件中的配置。
一个域可能只有一个 WebLogic 服务器,这个服务器将是管理服务器。
在生产环境中,域由一个管理服务器与多个 WebLogic 服务器组成。在启动这 个域的 WebLogic 服务器时,首先必须先启动管理服务器,其它服务器启动时,
会被命令从管理服务器获得配置信息。这样,管理服务器就成为整个域的配置 控制中心。一个域只能有一个活动的管理服务器,只有运行的管理服务器能够 修改配置文件。
图3.1 – WebLogic 服务器的配置
启动管理控制台
访问管理服务器的主要途径是管理控制台。打开管理控制台的步骤如下:
http://host:port/console
URL 中的 host 是管理服务器所在机器的主机名或 IP 地址。port 是管理服 务器监听请求的端口(缺省为 7001)。
系统提示你输入用户名与口令。输入你的用户名与口令。系统会进行身份验证 与权限检查,它依据用户数据库来验证用户号与口令。
- 31 - 如果通过了身份验证并被确认可以使用管理控制台,那么管理控制台将显示为 系统管理员分配给你的访问模式:或者是只读模式,或者是读/写模式。
动态配置的工作原理
WebLogic 服务器允许动态(即在运行时)改变域资源的配置属性,大多数情 况下,不需要重启 WebLogic 服务器就能使修改生效。属性值的改变会立即反 映到当前正在运行的属性值中,也会被作为永久值保存在 XML 配置文件中。
当然也会有例外。例如,如果你改变了 WebLogic 服务器的监听端口。新设置 的端口只有等到下次重启时才生效。这种情况下,属性值的改变体现在保存属 性值的 XML 文件中,当前的运行时配置值不同于属性文件中的值。
当属性的永久值与运行时的值不同时,管理控制台用图标表示这种情形,指示 服务器需要重启才能使该值生效。
管理控制台会对用户修改的属性值进行有效验证。所支持的错误有越界错误与 数据类型不匹配错误。在这两种情况下,都会弹出错误信息提示你属性值设置 有误。
在管理控制台启动后,如果有其它进程使用了分配给管理服务器的监听端口,
那 么 应 该 删 除 这 个 进 程 。 如 果 不 能 删 除 这 个 进 程 的 话 , 那 么 必 须 编 辑 Config.XML 文件修改管理服务器的监听端口。有关编辑 Config.XML 文件 的更多信息,请参见“配置参考”。
集群配置规划
在规划集群配置时,应该牢记以下关于网络环境与集群配置的限制。
1.首先,集群中的 WebLogic 主机必须使用静态 IP 地址。动态 IP 地址分配不能 用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙前面,那么 服务器必须有公共的静态 IP 地址,只有这样,客户端才能访问服务器。
2. 集群中的所有 WebLogic 服务器必须位于同一个局域网,并且必须是 IP 广播 可到达的。
3.集群中的所有 WebLogic 服务器必须使用相同的版本。
配置集群中的服务器,使它们支持所提供的服务。
对于使用了 JDBC 连接的 EJB,所有分发了某 EJB 的服务器必须具有相同 的分发与持久化配置。也就是说所有服务器都应该有相同的 JDBC 配置。
所有分发了 servlet 的主机必须维护一组具有相同 ACL 的 servlets。
如果客户端应用直接使用 JDBC 连接池,那么你必须为每个 WebLogic 服 务器创建相同的连接池(并具有相同的 ACL)。这意味着集群所使用的连 接池应该可以在所有的机器上创建。例如,一台运行 WebLogic 的 NT 服务 器配置了连接 Microsoft SQL Server 数据库的连接池,那么一个包含
- 32 - 非 Windows 机器(即不支持 Microsoft SQL Server 连接的机器)的 集群不能使用这个连接池。
其它配置细节可能会因不同的集群成员而不同。例如,一台 Solaris 服务器可 以比一台小的 NT 工作站处理更多的登录请求。这种差异是可以接受的。因此,
正如这里所给出的例子,对于那些与性能相关的属性,你可以根据每个集群成 员的特点来配置不同的值,只要所有成员的服务配置相同即可。因此,集群中 的 WebLogic 服务器在所有与 WebLogic 服务、类文件以及外部资源(例如数 据库)相关的方面具有相同的配置。
服务器配置任务列表
可以通过管理控制台进行以下服务器配置:
通过管理控制台的 Server 节点配置单独的服务器。可以配置的属性包括 名字,监听端口与 IP 地址。
通过管理控制台的 Server 节点克隆一个服务器。克隆的服务器保存了原 来服务器的属性值,你可以使用 Server 节点中的 Configuration 配置 新服务器的名字。
使用管理控制台的 Server 节点来删除一个服务器。点击要删除的服务器 的图标,将弹出一个删除服务器的确认对话框,点击对话框中的 Yes 按钮 将删除服务器。
使用管理控制台的 Server 节点查看一个服务器的日志。点击要查看的服 务器,点击 Monitoring 标签页。点击 View Server Log 连结,便可以 在管理控制台的右窗格查看服务器日志。
使用管理控制台的 Server 节点查看一个服务器的 JNDI 树。点击所要查看 的服务器,然后点击 Monitoring 标签页,点击该页面上 View JNDI Tree 连接,该服务器 JNDI 树的信息便显示在管理控制台的右窗格中。
使用管理控制台的 Server 节点查看服务器的执行队列。点击所要查看的 服务器,然后点击 View JNDI Tree 连接,然后查看管理控制台右边窗格 里的表格中的内容。
使用管理控制台的 Server 节点查看 server sockets。点击所要查看的 服务器,点击 View Sockets 连接,然后查看管理控制台右边窗格里的表 格中的内容。
使用管理控制台的 Server 节点查看服务器连接。点击所要查看的服务器,
点击 View Connections 连接,然后查看管理控制台右边窗格里的表格 中的内容。
使用管理控制台的 Server 节点进行强制垃圾收集。点击要监控的服务器,
点击 JVM 标签页,点击页面上的 Force Garbage Collection 连接。
将弹出是否要进行垃圾收集的确认对话框。
通过管理控制台的 Server 节点监控服务器的安全。点击要监控的服务器,
点击 Monitoring 标签页,点击 Security 标签页。将显示安全信息。
通过管理控制台的 Server 节点查看服务器的版本。点击要查看的服务器,
- 33 - 点击 Version 标签页,将显示服务器的版本信息。
通过管理控制台的 Server 节点监控服务器集群。点击要监控的服务器,
点击 Cluster 标签页,将显示该服务器的集群数据。
通过管理控制台的 Server 节点来分发 EJB。点击需要分发 EJBs 的服务 器,点击需要分发的 EJB 并使用移动控件将它移到被选列中。点击 Apply 来保存你的选择。
通过管理控制台的 Server 节点来监控分发在某一服务器上的所有 EJB。
点击需要监控的服务器,点击 Monitor All EJB Deployments 连接来 显示 EJB 分发表。
通过管理控制台的 Server 节点将 web 应用组件分发在某一服务器上。选 择要分发 web 应用的服务器。选择需要分发的 web 应用,然后通过移动控 件将它移到被选列中。点击 Apply 来保存你的选择。
通过管理控制台的 Server 节点来监控某一服务器上的所有 web 应用组件。
点击 web 应用所在的服务器,然后点击 Monitor All Web Applications 连接来显示 Web Application Deployments 表。
通过管理控制台的 Server 节点在服务器上分发启动与终止类。点击需要 分发启动类的服务器,然后点击需要分发的启动类并将它移到被选列中。点 击 Apply 来保存你的选择。使用 Shutdown Class 控件来分发终止类的 过程与此相同。
通过管理控制台的 Server 节点来分配 web 服务器。点击一个用来分发 web 应用的服务器。显示在右窗格的对话框包含了与该实例相关的标签页。在 Availble 列中点击一到多个需要分发到该服务器的 web 应用,然后使用 移动控件将它们移动到 Chosen 列中。点击 Apply 来保存上述选择。
通过管理控制台的 Server 节点为服务器分配 JDBC 连接池。Click a server for web-server assignment。在 Available 列中点击一 到多个 JDBC 连接池,并通过移动控件将所选择的 JDBC 连接池移到 Chosen 列。点击 Apply 来保存你所做的分配。
通过管理控制台的 Server 节点监控某一服务器的 JDBC 连接池。点及一个 需要监控的连接池所在的服务器。点 Monitor All JDBC Connection Pools on This Server 链接。分配给该服务器的所有连接池都显示在 右窗格中的 JDBC 连接池表格中。
通过管理控制台的 Server 节点为一个服务器分配 WLEC 连接池。点击需要 分配 WLEC 连接池的服务器。在 Available 列中选择一个或多个要分配的 WLEC 连接池,使用移动控件将所选择的 WLEC 连接池移动到 Chosen 列。
通过管理控制台的 Server 节点监控某一服务器上的所有 WLEC 连接池。选 择一个需要监控连接池的服务器。点 Monitor All WLEC Connection Pools on This Server 链接,所有分配给这台服务器的连接池显示在 右窗格中的 WLEC Connection Pools 表格中。
通过管理控制台的 Server 节点为一台服务器分配 JMS 服务器,连接工厂,
以及消息收信方。点击一个需要分配 JMS 的服务器,从 Available 列中 选择需要分配给这个服务器的 JMS 服务器,然后点移动组件把所选择的 JMS 服务器移到 Chosen 列。使用 JMS Connection Factories 组件以及 JMS Destination 组件按照分配 JMS 服务器的步骤为服务器分配连接工
- 34 - 厂与消息收信方。
通过管理控制台的 Server 节点为一台服务器分配 XML registries。选 择要分配 XML registry 的服务器,从 XML Registry 下拉列表中选择 一个 registry。点 Apply 保存设置。
通过管理控制台的 Server 节点分配邮件会话。选择一个要分配邮件会话 的服务器。从 Available 列中选择要分配给服务器的邮件会话,使用移动 控件把所选择的移动会话移动到 Chosen 列中。点 Apply 按钮保存设置。
通过管理控制台为服务器分配文件 T3s。选择一个要分配文件 T3 的服务器。
从 Available 列中选择要分配给服务器的文件 T3s,使用移动控件把所选 择的文件 T3s 移动到 Chosen 列。点 Apply 按钮保存设置。
集群配置列表
通过管理控制台可以进行以下集群配置:
通过管理控制台的 Cluster 节点配置集群服务器。可以配置的属性包括 Cluster Name, Cluster ListenPort 以及集群中的服务器名。
通过管理控制台的 Cluster 节点克隆一个集群。克隆的服务器与原服务器 具有相同的属性设置,包含同样的服务器。新集群的名字在 Server 节点 中的 Configuration 部分设置。
通过管理控制台的 Cluster 节点监控集群中的服务器。选择需要监控的集 群,点 Monitor Server Participating in This Cluster 链接。
该集群中的所有服务器显示在右窗格中的服务器表格中。
通过管理控制台的 Cluster 节点为集群分配服务器。选择需要分配服务器 的集群,从 Available 列中选择要分配的服务器,使用移动控件把所选的 服务器移到 Chosen 列中。点 Apply 按钮保存设置。
通过管理控制台的 Cluster 节点删除集群。选择 Delete 图标,删除一个 集群,右窗格中显示一个删除确认对话框,点 Yes 确认你的删除请求。
新建一个域
本节说明如何创建一个新的域。所有 WebLogic 域的配置信息都保存在 /config 目录的配置存储库中。每个域在/config 目录下都有一个同名子目 录。
安装 WebLogic 服务器时,建议你对缺省的/mydomain 配置目录进行备份保 存在一个 zip 文件中。并保存该 zip 文件的一个备份。/mydomain 目录包含 了域配置的基本组件,例如 fileRealm.properties 文件与配置文件。
以下是新建一个域的步骤:
1. 启动一个已存在的域(例如缺省的 mydomain 域)中的管理服务器。
2. 使用以下 URI 调用管理控制台。