将 Weblogic Server 实例设置为 Windows 服务(转 来源:蔚华爸爸的博客)

技巧 专栏收录该内容
5 篇文章 0 订阅
文章来源:http://jmyjq.blog.163.com/blog/static/12154245200832223632390/

如果希望 WebLogic Server 实例在您启动 Windows 主机计算机时自动启动,可以将服务器设置为 Windows 服务。

WebLogic Server 会在 Windows 注册表的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下,为设置为 Windows 服务的每个服务器实例创建一个注册表项。该注册表项包含服务器名称以及其他启动参数等信息。

启动 Windows 主机时,Windows 操作系统中的 Windows 服务控制管理器 (SCM) 使用该 Windows 注册表项中的信息调用 weblogic.Server 主类。Windows SCM 无法配置为使用节点管理器启动受管服务器,因此,节点管理器的监视和自动重新启动功能无法用于作为 Windows 服务运行的服务器。

下列任务用于设置和管理作为 Windows 服务运行的 WebLogic Server 实例:

设置 Windows 服务:主要步骤
验证设置
使用控制面板停止或重新启动服务器实例
作为 Windows 服务删除服务器
更改设置为 Windows 服务的服务器的启动凭据
设置 Windows 服务:主要步骤
要设置 Windows 服务,请执行下列操作:

创建一个脚本,用于为服务器特定的变量设置值并调用 WebLogic Server 主脚本。有关详细信息,请参阅创建服务器特定的脚本。
如果要将受管服务器作为 Windows 服务安装,应向服务器特定的脚本中添加一个变量,用于指定域的管理服务器的位置。有关详细信息,请参阅配置与管理服务器的连接。
如果要将管理服务器和受管服务器设置为在同一台计算机上作为 Windows 服务运行,则修改 WebLogic Server 主脚本,使受管服务器只在管理服务器完成其启动周期后启动。有关详细信息,请参阅要求受管服务器在管理服务器之后启动。
如果希望在使用 Windows 控制面板停止 Windows 服务时,服务器实例正常关闭,则创建一个 Java 类,并修改主脚本,使 Windows SCM 将调用该类。有关详细信息,请参阅启用从 Windows 控制面板正常关闭。
如果希望看到服务器实例输出到标准输出和标准错误(包括堆栈跟踪和线程转储)的消息,则将标准输出和标准错误重定向到文件。有关详细信息,请参阅将标准输出和标准错误重定向到文件。
如果已创建了希望 WebLogic Server 实例调用的其他 Java 类,则将这些类添加到服务器的类路径中。有关详细信息,请参阅将类添加到类路径中。
运行服务器特定的脚本。有关详细信息,请参阅运行服务器特定的脚本。
创建服务器特定的脚本。
您创建的脚本必须为标识服务器实例名称和其他服务器特定信息的变量设置值。然后,必须调用主脚本 WL_HOME\server\bin\installSvc.cmd,其中 WL_HOME 是安装 WebLogic Server 的目录。主脚本调用 beasvc 实用工具,用于向 Windows 注册表中添加一个注册表项。

注意: 有关 beasvc 的详细信息,请在命令提示符下输入以下命令:WL_HOME\server\bin\beasvc -help,其中 WL_HOME 是安装 WebLogic Server 的目录。


要查看服务器特定脚本的示例,请参阅清单 4-1 用于将服务器设置为 Windows 服务的示例脚本。

要创建服务器特定的脚本,请执行以下操作:

在域的管理服务器的根目录中创建一个文本文件。
在该文本文件中添加以下必需的批处理命令,每个命令置于单独的行上:
SETLOCAL
此批处理命令用于开始本地化批处理文件中的环境变量。

set DOMAIN_NAME=domain-name
其中 domain-name 是 WebLogic Server 域的名称。

set USERDOMAIN_HOME=absolute-pathname
其中 absolute-pathname 是管理服务器根目录(包含域的配置文件的目录)的绝对路径名。

set SERVER_NAME=server-name
其中 server-name 是希望设置为 Windows 服务的现有服务器实例的名称。

在该文本文件中添加以下可选的批处理命令。将每个命令置于单独的行上。
set WLS_USER=username
set WLS_PW=password
其中 username 是有权启动服务器实例的现有用户的名称,password 是该用户的密码。beasvc 实用工具加密登录凭据并将其存储在 Windows 注册表中。

此方法是避免在服务器实例启动时出现用户名/密码提示的两种可能的方法之一。此方法的缺点在于:要更改服务器实例的用户名或密码,要求您删除该 Windows 服务,并使用新的用户名和密码设置一个新 Windows 服务。可以使用引导标识文件代替此方法。通过引导标识文件,不必修改 Windows 服务即可更改登录凭据。有关详细信息,请参阅引导标识文件。

set PRODUCTION_MODE=[true]
如果 PRODUCTION_MODE 变量设置为 true,服务器实例将以生产模式启动。如果未指定该变量,或设置为 false,服务器将以开发模式启动。有关开发模式和生产模式的详细信息,请参阅“使用 Configuration Wizard 创建 WebLogic 域”中的新建 WebLogic 域。

set JAVA_OPTIONS=java-options
其中 java-options 是要传递给 Java 虚拟机 (JVM) 的一个或多个 Java 参数。使用空格分隔多个参数。有关 WebLogic Server 特定的 Java 选项的列表,请参阅“WebLogic Server 命令行参考”中的 weblogic.Server 命令行参考。您使用的 JVM 支持其他选项,并且 JVM 供应商已存档。

set JAVA_VM=-JVM-mode
其中 JVM-mode 是指示希望 JVM 以哪种模式运行的文本字符串。提供的值取决于所使用的 JVM。例如,Sun JDK 可以运行 -hotspot、-client 或 -server JVM。如果使用 Sun JDK 1.3.1,默认值为 -hotspot。如果使用 Sun JDK 1.4.1,默认值为 -client。如果使用 JRockit JVM,默认值为 -jrockit。有关详细信息,请参阅“JRockit User Guide”中的 Starting and Configuring the JRockit JVM。

set MEM_ARGS=[-XmsNumberm] [-XmxNumberm]
其中 Number 是一个以 MB 为单位的数字值。-XmsNumberm 参数设置 JVM 的最小堆大小,-XmxNumberm 设置最大堆大小。默认情况下,最小堆大小为 23 MB,最大堆大小为 200 MB。

注意: 要指定非默认 JVM 堆大小,应在 WL_HOME\common\bin\commEnv.cmd 中设置 MEM_ARGS 值;但是,此更改将影响同一个 WL_HOME 下的所有域。


在该脚本结尾添加以下必需的命令:
call "WL_HOME\server\bin\installSvc.cmd"
其中 WL_HOME 是 WebLogic Server 的安装目录的绝对路径名。此命令调用 WebLogic Server 主脚本。

ENDLOCAL
此批处理命令用于结束本地化批处理文件中的环境变量。

使用 .cmd 扩展名保存该文本文件。默认情况下,Windows 命令提示将 .cmd 扩展名与批处理文件相关联。
配置与管理服务器的连接
如果希望将受管服务器作为 Windows 服务安装,必须包含一个变量,用于指定域的管理服务器的位置。受管服务器必须与管理服务器联系,以检索其配置数据。

在将受管服务器作为 Windows 服务安装并启动之前,必须先启动管理服务器(不是服务)。

要配置与管理服务器的连接,请执行以下操作:

在文本编辑器中,打开服务器特定的脚本。
在该文本文件中,在 SETLOCAL 命令与 call 命令之间创建以下命令:
set ADMIN_URL=protocol://listen-address:listen-port

其中

protocol 是 http 或 https
listen-address 是管理服务器的监听地址
listen-port 是管理服务器的端口
有关详细信息,请参阅配置受管服务器与管理服务器的连接。

例如,请参阅清单 4-1 中的粗体文本。

保存对服务器特定脚本的修改。
清单 4-1 用于将服务器设置为 Windows 服务的示例脚本
echo offSETLOCALset DOMAIN_NAME=myWLSdomain set USERDOMAIN_HOME=d:\bea\user_projects\domains\myWLSdomainset SERVER_NAME=myWLSserver set PRODUCTION_MODE=truesetJAVA_OPTIONS=-Dweblogic.Stdout="d:\bea\user_projects\domains\myWLSdomain\stdout.txt" -Dweblogic.Stderr="d:\bea\user_projects\domains\myWLSdomain\stderr.txt" set ADMIN_URL=http://adminserver:7501 set MEM_ARGS=-Xms40m -Xmx250mcall "d:\bea\weblogic81\server\bin\installSvc.cmd"ENDLOCAL要求受管服务器在管理服务器之后启动
如果将管理服务器和受管服务器设置为在同一台计算机上作为 Windows 服务运行,可以指定受管服务器只在管理服务器之后启动。

如果要求受管服务器在管理服务器 Windows 服务之后启动,请执行以下操作:

为 WL_HOME\server\bin\installSvc.cmd 主脚本创建一个备份副本。
如果已将管理服务器作为 Windows 服务安装,则删除该服务。有关详细信息,请参阅作为 Windows 服务删除服务器。
将管理服务器作为 Windows 服务安装(或重新安装)之前,请执行以下操作:
在文本编辑器中,打开 WL_HOME\server\bin\installSvc.cmd 主脚本。
此脚本中的最后一个命令调用 beasvc(用于修改 Windows 注册表的 WebLogic Server 实用工具)。

在 installSvc.cmd 中,为调用 beasvc 实用工具的命令添加以下参数:
-delay:delay_milliseconds

此参数指定在 Windows SCM 将服务状态从 SERVER_START_PENDING 更改为 STARTED 之前,要等待的毫秒数。
例如,如果管理服务器需要 2 分钟来完成其启动周期并开始监听请求,则指定 -delay=120000。在启动 Windows 主机计算机时,Windows SCM 会在 2 分钟内报告 SERVER_START_PENDING 状态。然后,将状态更改为 STARTED。
管理服务器修改后的 beasvc 调用将类似如下所示:

"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-delay:120000
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%

有关 beasvc 的详细信息,请在命令提示符下输入以下命令:WL_HOME\server\bin\beasvc -help,其中 WL_HOME 是安装 WebLogic Server 的目录。

安装管理服务器 Windows 服务。
将受管服务器作为 Windows 服务安装之前,请执行以下操作:
在文本编辑器中,打开 WL_HOME\server\bin\installSvc.cmd 主脚本。
在 installSvc.cmd 中,为调用 beasvc 实用工具的命令添加以下参数:
-depend:Administration-Server-service-name

其中 Administration-Server-service-name 是管理服务器 Windows 服务的名称。要验证服务名称,请查看“Windows 服务”控制面板。

通过此选项,Windows SCM 将等待管理服务器 Windows 服务报告 STARTED 状态,然后再启动受管服务器 Windows 服务。
例如,受管服务器修改后的 Beasvc 调用将类似如下所示:

"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-depend:"myDomain_myAdminServer"
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%

如果要配置 Windows SCM 报告服务的 STARTED 状态的时间,还可以为受管服务器 Windows 服务添加 -delay:delay_milliseconds 选项。

启用从 Windows 控制面板正常关闭
默认情况下,如果使用 Windows 控制面板停止服务器实例,Windows 服务控制管理器 (SCM) 将取消服务器的 Java 虚拟机 (JVM)。如果取消 JVM,则服务器立即停止所有处理。所有会话数据均丢失。如果在服务器正写入 config.xml 文件时取消管理服务器的 JVM,可能会破坏 config.xml 文件。

要启用从 windows 控制面板正常关闭,请执行以下操作:

创建一个 Java 类,用于调用 weblogic.management.runtime.ServerRuntime.shutdown() 方法。
此方法将在服务器完成所有正在进行的工作之后正常关闭服务器。有关这种类的示例,请参阅用于关闭服务器实例的 Java 类。

为 WL_HOME\server\bin\installSvc.cmd 主脚本创建一个备份副本。
在文本编辑器中,打开 WL_HOME\server\bin\installSvc.cmd 主脚本,并执行以下操作:
将所创建的类添加到 set CLASSPATH 语句中。
例如,如果将类归档在名为 c:\myJar 的文件中,则修改后的语句将如下所示:
set
CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\weblogic_sp
.jar;%WL_HOME%\server\lib\weblogic.jar;c:\myJar;%CLASSPATH%。

在脚本的最后一行添加以下参数,该参数调用 beasvc 实用工具:
-stopclass:javaclass
,其中 javaclass 是所创建的类的完整类路径名。此参数加载 javaclass 并调用其 public void static stop() 方法。
例如,如果将该类打包在清单 4-2 的 com.myClasses 中,修改后的 beasvc 命令将如下所示:
修改后的 beasvc 调用将类似如下所示:

"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-stopclass:com.myClasses.ServerStopper
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%

有关 beasvc 的详细信息,请在命令提示符下输入以下命令:WL_HOME\server\bin\beasvc -help,其中 WL_HOME 是安装 WebLogic Server 的目录。

在管理控制台中,在服务器的“控制”“启动/停止”选项卡上,配置受管服务器的正常关闭行为。
可以确定正常关闭操作是否立即删除所有 HTTP 会话,并且可以配置在强制关闭之前,正常关闭操作等待的时间量。有关详细信息,请参阅“管理控制台联机帮助”中的 控制正常关闭。

考虑修改 Windows SCM 指定的默认超时值。
默认情况下,在使用 Windows 2000 控制面板停止 Windows 服务时,Windows SCM 将为停止服务等待 30 秒,然后再取消服务并向系统事件日志输出超时消息。

如果使用 -stopclass 正常关闭服务器,30 秒可能不足以使服务器正常结束其处理。

要在 Windows 2000 上配置超时期限,应在以下注册表项下创建一个名为 ServicesPipeTimeout 的 REG_DWORD 注册表值:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control。

该注册表项的值必须以毫秒为单位。

此值在启动 Windows 操作系统期间从注册表读取,将影响已安装的所有服务。

保存对 WebLogic Server 主脚本的更改。
用于关闭服务器实例的 Java 类
以下 Java 类使用 Java 管理扩展 (JMX) 关闭服务器实例。每个服务器使用 JMX 受管 Bean (MBean) 公开其管理特性和操作。ServerRuntime 就属于此类 MBean,公开用于正常关闭服务器的 shutdown() 方法。

清单 4-2 中的类使用管理 MBeanHome 界面,该界面可以为域中的所有服务器实例检索并调用 ServerRuntime MBean 操作。

有关 JMX 编程的详细信息,请参阅 使用 JMX 进行 WebLogic 管理服务编程指南。有关 ServerRuntime MBean 的详细信息,请参阅 WebLogic Server Javadoc。

清单 4-2 用于关闭服务器实例的 Java 类
import java.util.Set;import java.util.Iterator;import java.rmi.RemoteException;import javax.naming.Context;import javax.management.ObjectName;import weblogic.jndi.Environment;import weblogic.management.MBeanHome;import weblogic.management.WebLogicMBean;import weblogic.management.configuration.ServerMBean;import weblogic.management.runtime.ServerRuntimeMBean;import weblogic.management.runtime.ServerStates;import weblogic.management.WebLogicObjectName;public class ServerStopper { public static void stop() throws Exception { MBeanHome home = null; //管理服务器的 URL String url = "t3://qa113:7001"; String username = "system"; String password = "gumby1234"; ServerRuntimeMBean serverRuntime = null; Set mbeanSet = null; Iterator mbeanIterator = null; try { // 设置 ContextClassloader 以阻止声明 URL[] urls = { new File("/").toURL() }; Thread.currentThread().setContextClassLoader(new URLClassLoader(urls)); Environment env = new Environment(); env.setProviderUrl(url); env.setSecurityPrincipal(username); env.setSecurityCredentials(password); Context ctx = env.getInitialContext(); home = (MBeanHome) ctx.lookup("weblogic.management.adminhome"); mbeanSet = home.getMBeansByType("ServerRuntime"); mbeanIterator = mbeanSet.iterator(); while(mbeanIterator.hasNext()) { serverRuntime = (ServerRuntimeMBean)mbeanIterator.next(); if(serverRuntime.getState().equals(ServerStates.RUNNING)){ serverRuntime.shutdown(); } } } catch (Exception e) { e.printStackTrace(); } }}将标准输出和标准错误重定向到文件
默认情况下,在将 WebLogic Server 实例作为 Windows 服务安装时,看不到该服务器或其 JVM 输出到标准输出和标准错误。

要查看这些消息,必须将标准输出和标准错误输出到文件:

为 WL_HOME\server\bin\installSvc.cmd 主脚本创建一个备份副本。
在文本编辑器中,打开 WL_HOME\server\bin\installSvc.cmd 主脚本。
在 installSvc.cmd 中,脚本中的最后一个命令调用 beasvc 实用工具。在 beasvc 命令的结尾追加以下命令选项:
-log:"pathname "
,其中 pathname 是要存储服务器的标准输出和标准错误消息的文件的完全限定路径和文件名。

修改后的 beasvc 命令将类似以下命令所示:

"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
-log:"d:\bea\user_projects\domains\myWLSdomain\myWLSserver-stdout.txt"

默认情况下,每隔 24 小时,Windows 服务会将消息归档到一个名为 pathname-yyyy_mm_dd-hh_mm_ss 的文件。在上一步中指定的文件中收集新消息。
有关更改默认行为的信息,请参阅更改默认滚动条件。

在安装了服务并重新启动 Windows 主机之后,要查看服务器写入标准输出或标准错误的消息,请执行下列操作之一:

为指定的文件创建副本并查看副本。Windows 文件系统无法写入当前打开的文件。
要查看正在输出到文件的消息,请打开命令提示符,然后使用支持 tail 命令的 DOS 实用工具,输入 tail -f stdout-filename。
更改默认滚动条件
默认情况下,每隔 24 小时,Windows 服务会将消息归档到一个名为 pathname-yyyy_mm_dd-hh_mm_ss 的文件。在设置服务时指定的文件中收集新消息。

可以更改时间间隔,也可以设置基于消息文件的大小(而不是时间间隔)进行滚动。

要更改 Windows 服务滚动消息文件的默认条件,请执行以下操作:

如果 Windows 服务正在运行,则关闭该服务。
编辑 -log: pathname 参数中指定的文件。如果文件不存在,则创建一个文件。
例如,如果发出上一部分的步骤 3 中的示例命令,则创建一个名为 d:\bea\wlserver6.1\config\mydomain\myserver-stdout.txt 的文件。

请执行下列操作之一:
如果希望 Windows 服务以特定的时间间隔滚动消息文件,而与文件大小无关,则在文件顶部添加下列语句,每个语句位于单独的行上(确保在键入最后一行之后按 Enter 或 Return 键):
# ROTATION_TYPE = TIME
# TIME_START_DATE = date-in-required-format
# TIME_INTERVAL_MINS = number-of-minutes
其中 TIME_START_DATE 指定进行第一次滚动的时间。如果指定的时间已过,则在过了 TIME_INTERVAL_MINS 中指定的时间间隔后进行第一次滚动。必须使用以下格式指定开始时间:Month Day Year Hour:Minutes:Seconds
其中 Month 是以英文书写的阳历月的前 3 个字母
Day 是阳历月中 2 位的日期
Year 是阳历中 4 位的年
Hour:Minutes:Seconds 表示 24 小时格式的时间

TIME_INTERVAL_MINS 指定 Windows 服务滚动文件的频率(以分钟为单位)。

例如:
# ROTATION_TYPE = TIME
# TIME_START_DATE = Jul 17 2003 05:25:30
# TIME_INTERVAL_MINS = 1440

过了该时间间隔后,Windows 服务会将文件保存为 pathname-yyyy_mm_dd-hh_mm_ss。然后创建一个名为 pathname 的新文件。这个新文件包含原来指定的所有头,用于收集新的标准输出和标准错误消息。

如果指定了 # ROTATION_TYPE = TIME,但是不包含其他行,Windows 服务将每隔 24 小时滚动消息文件。

如果希望 Windows 服务在文件超过指定大小之后滚动消息文件,则在文件顶部添加下列语句,每个语句位于单独的行上(确保在键入最后一行之后按 Enter 或 Return 键):
# ROTATION_TYPE = SIZE
# SIZE_KB = file-size-in-kilobytes
# SIZE_TRIGGER_INTERVAL_MINS = polling-interval

其中 SIZE_KB 指定触发 Windows 服务以将消息移动到单独的文件的最小文件大小(以 KB 为单位)。

SIZE_TRIGGER_INTERVAL_MINS 指定 Windows 服务检查文件大小的频率(以分钟为单位)。如果不包含此头,Windows 服务会每隔 5 分钟检查文件大小。

例如:
# ROTATION_TYPE = SIZE
# SIZE_KB = 1024
# SIZE_TRIGGER_INTERVAL_MINS = 3

Windows 服务检查文件大小时,如果该文件大于指定大小,则将文件保存为 pathname-yyyy_mm_dd-hh_mm_ss。 然后创建一个名为 pathname 的新文件。这个新文件包含原来指定的所有头,用于收集新的标准输出和标准错误消息。

如果指定了 # ROTATION_TYPE = SIZE,但是不包含其他行,Windows 服务将每隔 5 分钟检查消息文件的大小。如果文件大于 1 MB,则将滚动该文件。

要使 WebLogic Server 实例将线程转储输出到标准输出,请执行下列任一操作:

使用 weblogic.Admin THREAD_DUMP 命令。有关详细信息,请参阅“WebLogic Server 命令参考”中的 THREAD_DUMP。
打开命令提示符并输入以下命令:
WL_HOME\bin\beasvc -dump -svcname:service-name
其中 WL_HOME 是安装 WebLogic Server 的目录,
service-name 是正在运行服务器实例的 Windows 服务。

例如:
D:\bea\weblogic81\server\bin\beasvc -dump -svcname:mydomain_myserver

将类添加到类路径中
类路径是 JVM 可以调用的 Java 类的位置声明。使用 WebLogic Server 主脚本将服务器实例作为 Windows 服务安装时,主脚本指定运行服务器实例所需的所有类。如果希望通过添加自己的 Java 类来扩展 WebLogic Server,必须将这些类添加到类路径中。

要将类添加到类路径中,请执行以下操作:

为 WL_HOME\server\bin\installSvc.cmd 主脚本创建一个备份副本。
在文本编辑器中,打开 WL_HOME\server\bin\installSvc.cmd 主脚本。
将类添加到 set CLASSPATH 语句中。
例如,如果将类归档在名为 c:\myJar 的文件中,则修改后的语句将如下所示:
set
CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\weblogic_sp.
jar;%WL_HOME%\server\lib\weblogic.jar;c:\myJar;%CLASSPATH%。

注意: Win32 系统将命令行长度限制为 2K。如果 Windows 服务启动的类路径设置非常长,可能会超过 2K 的限制。

要摆脱此限制,请执行以下操作:

将 set CLASSPATH 命令的值放入一个单独的文本文件中。
在 WL_HOME\server\bin\installSvc.cmd 主脚本中,找到 set CMDLINE 命令。
在 set CMDLINE 命令中,将 -classpath \"%CLASSPATH%\" 选项替换为以下选项:
-classpath @pathname\filename
其中 pathname\filename 是包含类路径值的文件的绝对路径和名称。

例如:

set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-classpath @c:\myClasspath.txt -Dweblogic.Name=%SERVER_NAME% -Dbea.home=\"D:\bea_70sp2\" -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=\"%ADMIN_URL%\" -Dweblogic.ProductionModeEnabled=%STARTMODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

保存对 WebLogic Server 主脚本的更改。
运行服务器特定的脚本
注意: 要运行服务器特定的脚本,必须使用有权修改 Windows 注册表的用户帐户登录到 Windows 计算机。


如果在生产环境中安装 Windows 服务,BEA 建议您不要使用具有管理员级权限的操作系统用户帐户运行服务。有关详细信息,请参阅验证运行服务的用户帐户。

要运行服务器特定的脚本,请执行以下操作:

打开命令提示符并切换到管理服务器的根目录,该目录是包含服务器特定的脚本的目录。
输入服务器特定的脚本的名称。
命令提示符将脚本作为批处理文件运行。

如果脚本成功运行,将创建一个名为
DOMAIN_NAME_SERVER_NAME 的 Windows 服务,并向标准输出中输出类似如下所示的一行:
mydomain_myserver installed。

默认情况下,标准输出是运行服务器特定的批处理文件的命令提示符。

如果修改了 WL_HOME\server\bin\installSvc.cmd 主脚本,应考虑撤消修改,以便可以使用该脚本设置其他服务器实例。
验证设置
要验证是否已将 WebLogic Server 设置为 Windows 服务,请执行以下操作:

打开命令窗口,并输入以下命令:
set PATH=WL_HOME\server\bin;%PATH%
导航到域目录的上一级目录。例如,要验证 BEA_HOME\user_domains\mydomain 的设置,则导航到 BEA_HOME\user_domains。
输入:
beasvc -debug "yourServiceName"
例如 beasvc -debug "mydomain_myserver"。

如果设置已成功,beasvc -debug 命令将启动您的服务器。如果该脚本返回类似如下所示的错误,应确保指定的服务名称正确:
Unable to open Registry Key ....... System\CurrentControlSet\Services\beasvc example_examplesServer\Parameters

验证运行服务的用户帐户
在生产环境中,WebLogic Server Windows 服务应使用具有有限访问权限的特殊操作系统用户帐户运行。例如,OS 用户应只具有访问 BEA 文件和您的域文件的权限。此用户帐户应是唯一一个有权访问这些文件的用户帐户。

要确保使用特殊 OS 用户帐户运行 WebLogic Server 实例,请执行以下操作:

打开“服务”控制面板。
例如,在 Windows 2000 桌面上:

选择“开始”菜单。
在“开始”菜单上,选择“设置”“控制面板”。
在“控制面板”窗口中,打开“管理工具”文件夹。
在“管理工具”窗口中,打开“服务”控制面板。
在“服务”控制面板上,右键单击 WebLogic Server Windows 服务,然后单击“属性”。
在“属性”窗口中,单击“登录”选项卡。
在“登录身份”下,选择“此帐户”。然后输入特殊 OS 用户帐户的用户名和密码。
单击“确定”。
注意: 访问网络驱动器时,Windows 服务必须使用共享网络驱动器的相同用户名运行。


使用控制面板停止或重新启动服务器实例
将服务器实例设置为作为 Windows 服务运行之后,可以使用“服务”控制面板停止或重新启动服务器。

默认情况下,如果使用 Windows 控制面板停止服务器实例,Windows 服务控制管理器 (SCM) 将取消服务器的 Java 虚拟机 (JVM)。如果取消 JVM,则服务器立即停止所有处理。所有会话数据均丢失。如果在服务器正写入 config.xml 文件时取消管理服务器的 JVM,可能会破坏 config.xml 文件。有关启用从 Windows 控制面板正常关闭的信息,请参阅启用从 Windows 控制面板正常关闭。

要停止或重新启动作为 Windows 服务安装的 WebLogic Server 实例,请执行以下操作:

选择“开始”“设置”“控制面板”。
在 Windows 2000 上,打开“管理工具”控制面板。然后打开“服务”控制面板。
在 Windows NT 上,直接从“控制面板”窗口中打开“服务”控制面板。

在“服务”控制面板中,找到所创建的服务。默认情况下,服务名称以 beasvc 开头。
右键单击服务名称,然后从快捷菜单中选择命令。
作为 Windows 服务删除服务器
要删除运行 WebLogic Server 实例的 Windows 服务,可以使用一个脚本,使 beasvc 实用工具将相关联的注册表项从 Windows 注册表中删除。删除 Windows 服务不会影响域配置文件中保存的服务器实例配置。删除 Windows 服务之后,可以使用启动脚本或(对于受管服务器)节点管理器启动 WebLogic Server 实例。

该脚本必须为标识服务器实例名称和其他服务器特定信息的变量设置值。然后,该脚本调用主卸载脚本 WL_HOME\server\bin\uninstallSvc.cmd,其中 WL_HOME 是安装 WebLogic Server 的目录。主脚本调用 beasvc 实用工具,用于从 Windows 注册表中删除一个注册表项。

要查看服务器特定的卸载脚本的示例,请参阅清单 4-3 用于删除 Windows 服务的脚本。

要为删除运行 WebLogic Server 实例的 Windows 服务创建脚本,请执行以下操作:

在域管理服务器的根目录(包含域的 config.xml 文件的目录)中创建一个文本文件。
在该文本文件中添加以下必需的批处理命令,每个命令置于单独的行上:
SETLOCAL
此批处理命令用于开始本地化批处理文件中的环境变量。

set DOMAIN_NAME=domain-name
其中 domain-name 是 WebLogic Server 域的名称。

set SERVER_NAME=server-name
其中 server-name 是希望设置为 Windows 服务的现有服务器实例的名称。

call "WL_HOME\server\bin\uninstallSvc.cmd"
其中 WL_HOME 是 WebLogic Server 的安装目录的绝对路径名。此命令调用 Weblogic Server 主卸载脚本。

ENDLOCAL
此批处理命令用于结束本地化批处理文件中的环境变量。

使用 .cmd 扩展名保存该文本文件。 默认情况下,Windows 命令提示将 .cmd 扩展名与批处理文件相关联。
输入服务器特定的脚本的名称。
命令提示符将脚本作为批处理文件运行。

如果删除脚本成功运行,则将类似如下所示的一行输出到标准输出:
mydomain_myserver removed。

默认情况下,标准输出是运行批处理文件的命令提示符。

清单 4-3 用于删除 Windows 服务的脚本
echo offSETLOCALset DOMAIN_NAME=myWLSdomain set SERVER_NAME=myWLSserver call "D:\bea\weblogic81\server\bin\uninstallSvc.cmd"ENDLOCAL更改设置为 windows 服务的服务器的启动凭据
要更改 Windows 服务,以使 WebLogic Server 实例使用不同的用户凭据运行,请执行下列操作之一:

如果将 Windows 服务设置为从根标识文件检索用户名和密码,可以使用包含新用户名和密码的新文件覆盖现有文件。必须指定 WebLogic Server 默认安全领域中现有用户的名称。有关详细信息,请参阅引导标识文件。
如果将 Windows 服务设置为从 Windows 注册表检索用户名和密码,必须删除 Windows 服务,并创建一个使用新用户名或密码的新服务。
卸载运行 WebLogic Server 实例的 Windows 服务。有关详细信息,请参阅作为 Windows 服务删除服务器。
在文本编辑器中,打开用于安装服务的脚本,然后将新的用户名和密码作为 set WLS_USER 和 set WLS_PW 命令的值输入。WebLogic 在 Windows 注册表中加密这些值。
保存对脚本的修改。
输入服务器特定的脚本的名称。
命令提示符将脚本作为批处理文件运行。

如果脚本成功运行,将创建一个名为
DOMAIN_NAME_SERVER_NAME 的 Windows 服务,并向标准输出中输出类似如下所示的一行:
mydomain_myserver installed。

默认情况下,标准输出是运行服务器特定的批处理文件的命令提示符。

(可选)将用户名和密码从脚本文件中删除。
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

iteye_6711

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值