如何将WebLogic AdminServer和NodeManager安装为Windows服务?

时间:2018-07-11 06:50:46

标签: windows-services weblogic nodemanager

我试图将Weblogic adminserver安装为Windows服务,但是在执行安装脚本时出现“输入时间过长”错误。

2 个答案:

答案 0 :(得分:0)

在这个问题上,我付出了很多努力,终于找到了将AdminServer和Nodemanager注册为Weblogic的Windows服务的方法。以下是进度面临的步骤和问题:

要将weblogic AdminServer注册为Windows服务器,首先需要创建一个包含oracle home,java home等值的脚本。以下是我用于安装服务的脚本:

`

echo off 
SETLOCAL 
set MW_HOME=C:\Oracle\Middleware\Oracle_Home 
set DOMAIN_NAME=osb_domain 
set USERDOMAIN_HOME=C:\Oracle\Middleware\Oracle_Home\user_projects\domains\osb_domain 
set SERVER_NAME=AdminServer 
set WL_HOME=C:\Oracle\Middleware\Oracle_Home\wlserver 
set PRODUCTION_MODE=true 
set JAVA_OPTIONS=-Dweblogic.Stdout="%USERDOMAIN_HOME%\stdout.txt" -Dweblogic.Stderr="%USERDOMAIN_HOME%\stderr.txt" 
set WLS_USER=weblogic 
set WLS_PW=Password123 
set MEM_ARGS=-Xms1024m -Xmx1024m 
call "C:\Oracle\Middleware\Oracle_Home\user_projects\domains\osb_domain\bin\setDomainEnv.cmd" 
call "C:\Oracle\Middleware\Oracle_Home\wlserver\server\bin\installSvc.cmd" 
ENDLOCAL

`

  1. 通过运行此脚本,我什至无法安装Windows服务,因为它抛出“输入太长”错误,原因是Windows字符限制。您可能会对classpath感到困惑,并会尝试解析classpath,但是 问题是由SetDomainEnv.txt设置的JAVA_OPTIONS值造成的。

  2. 我已如下修改脚本,并在设置脚本中的JAVA_OPTIONS之前通过调用SetDomainEnv.txt命令来缩短JAVA_OPTIONS值。 这已覆盖了JAVA_OPTIONS的冗长值。现在,我已成功将AdminServer安装为Windows服务。

`

echo off 
SETLOCAL 
set MW_HOME=C:\Oracle\Middleware\Oracle_Home 
set DOMAIN_NAME=osb_domain 
set USERDOMAIN_HOME=C:\Oracle\Middleware\Oracle_Home\user_projects\domains\osb_domain 
set SERVER_NAME=AdminServer 
set WL_HOME=C:\Oracle\Middleware\Oracle_Home\wlserver 
set PRODUCTION_MODE=true
call "C:\Oracle\Middleware\Oracle_Home\user_projects\domains\osb_domain\bin\setDomainEnv.cmd" 
set JAVA_OPTIONS=-Dweblogic.Stdout="%USERDOMAIN_HOME%\stdout.txt" -Dweblogic.Stderr="%USERDOMAIN_HOME%\stderr.txt" 
set WLS_USER=weblogic 
set WLS_PW=Password123 
set MEM_ARGS=-Xms1024m -Xmx1024m 
call "C:\Oracle\Middleware\Oracle_Home\wlserver\server\bin\installSvc.cmd" 
ENDLOCAL `
  1. 即使该服务已成功安装,当我启动该服务时,该服务也会立即停止,并且由于未连接到AdminServer而没有打印任何日志。

  2. 经过一些分析,我发现调用AdminServer非常需要在脚本中覆盖的JAVA_OPTIONS值。

  3. 我已经在cmd提示符下运行SetDomainEnv.txt,并复制了JAVA_OPTIONS个值。

  4. 由于已经安装了该服务,因此我只是在Windows服务注册表中手动复制了正确的JAVA_OPTIONS值CMDLINE参数。

服务器子系统失败。原因:MultiException有6个异常。  服务器安装为Windows NT服务,用户weblogic的密码不正确。自服务器作为Windows NT服务安装以来,密码可能已更改。请与Windows NT系统管理员联系。

注意:CMDLINE参数中没有插入多余的空格或字符。

  1. 现在一切就绪,这实际上是启动管理服务器所需的。但是,当我启动该服务时,它会在adminserver.log文件中引发一些身份验证错误以及其他错误。

  2. 经过大量分析,我发现这不是身份验证问题,问题出在boot.properties文件上。开机。属性文件未正确读取。

答案 1 :(得分:0)

此答案是下面一个的继续:

经过大量分析,我发现这不是身份验证问题,问题出在boot.properties文件上。开机。属性文件未正确读取。


现在,我要介绍一些背景知识-如果将融合中间件安装为开发模式,则将在Oracle_HOME \ user_projects \ domains \ domainname \ servers \ AdminServer \ security中自动创建boot.properties文件,如果您查看此prop文件,将以加密模式找到密码和用户名。 如果融合中间件作为生产模式安装,则每次都会要求输入密码和用户名。为了避免这种情况,请执行以下步骤:

  1. 手动在Oracle_HOME \ user_projects \ domains \ domains \ domains \ servers \ AdminServer \ security \ boot.properties下创建文件,如下所述:

username = weblogic 密码=密码

注意:不应添加空格,并且要注意文件扩展名。

  1. 现在从domain \ bin \ startWeblogic.cmd启动weblogic。这将加密boot.properties文件。检查boot.proprties文件(如果已加密)就可以了。

最后,按照上述过程安装Windows服务。应该可以。

======================

关于节点管理器,请使用domain \ bin中的installNodeMgrSvc。同样,如果输入太长错误,则必须缩短JAVA_OPTIONS,然后在Windows注册表中仔细编辑CMDLINE参数。