windows-services - 如何将 WebLogic AdminServer 和 NodeManager 安装为 Windows 服务?
问题描述
我正在尝试将 Weblogic adminserver 安装为 Windows 服务,但在执行安装脚本时出现“输入太长”错误。
解决方案
我在这个问题上苦苦挣扎,终于找到了将 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
`
通过运行这个脚本,我什至无法安装 Windows 服务,因为它抛出“输入太长”错误,原因是 Windows 字符限制。您可能会对类路径感到困惑,并会尝试解析类路径,但问题在于由 SetDomainEnv.txt 设置的 JAVA_OPTIONS 值造成了此问题。
我已经修改了如下脚本,并在脚本中设置 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 `
即使该服务已成功安装,当我启动它时,该服务也会立即停止并且没有打印任何日志,因为它没有连接到 AdminServer。
经过一番分析,我发现调用 AdminServer 非常需要我在脚本中覆盖的 JAVA_OPTIONS 值。
我在 cmd 提示符下运行 SetDomainEnv.txt 并复制了 JAVA_OPTIONS 值。
由于该服务已经安装,我只是在 Windows 服务注册表中手动复制了正确的 JAVA_OPTIONS 值 CMDLINE 参数。
服务器子系统失败。原因:一个 MultiException 有 6 个异常。服务器安装为 Windows NT 服务,但用户 weblogic 的密码不正确。自从服务器作为 Windows NT 服务安装后,密码可能已更改。请与 Windows NT 系统管理员联系。
注意:在 CMDLINE 参数中没有插入额外的空格或字符。
现在一切都准备好了,这实际上是启动管理服务器所需的。但是当我启动该服务时,它会在 adminserver.log 文件中与其他一些身份验证错误一起引发。
经过大量分析,我发现这不是身份验证问题,问题出在 boot.properties 文件上。开机。属性文件未正确读取。
推荐阅读
- c# - 如何将自定义异常过滤器的异常(实现 IExceptionFilter)记录到文件中
- python - 当索引在范围内时如何修复索引超出范围
- installation - 在 cygwin shell 中运行 ./autogen.sh 时构建 LibreOffice 时出错
- r - 更改R ggplot中条形之间的间隙
- python - 如何在python中将参数传递给POST请求
- html - 图片回退默认为 png 而不是 webp
- rubygems - 无法安装可可豆荚
- c# - WinForms 滚动条,禁用超出范围的滚动。应该是手动的?
- dask - 当数据不适合内存时,将 dask 数据帧存储到镶木地板
- api - 通过部署的应用程序传播 Mulesoft 错误消息