核心概念:什么是受管服务器?
在深入启动之前,必须先理解几个关键角色的关系:

- WebLogic 域:一个或多个 WebLogic Server 实例的集合,这些实例共享相同的配置,域是 WebLogic 管理的基本单元。
- 管理服务器:
- 作用:域的“大脑”或“中央控制台”,它负责存储和管理域中所有资源(如服务器、数据源、JMS、应用等)的配置信息。
- 特点:域中只能有一个管理服务器,它本身不承载业务应用,只负责管理。
- 受管服务器:
- 作用:域中实际运行业务应用程序(如 Web 应用、EJB 等)的服务器实例。
- 特点:一个域中可以有一个或多个受管服务器,它们是真正处理用户请求的工作单元。
- 关键点:受管服务器必须接受管理服务器的管理,它从管理服务器加载其配置,并定期向管理服务器报告其运行状态。
简单比喻:
- 管理服务器 = 指挥官,负责制定作战计划(配置)。
- 受管服务器 = 士兵,根据指挥官的计划去执行任务(运行应用)。
启动受管服务器的两种主要方式
启动受管服务器主要有两种方式,取决于管理服务器是否正在运行。
通过管理服务器控制台启动(推荐方式)
这是最常用、最安全的方式,因为它确保了配置的一致性。
前提条件:

- 管理服务器必须正在运行,如果管理服务器没启动,受管服务器无法获取其配置。
操作步骤:
-
启动管理服务器:
- 登录到运行管理服务器的机器。
- 打开终端,导航到域的
bin目录。 - 执行启动脚本:
- Windows:
startManagedWebLogic.cmd(或.bat) - Linux/Unix:
startManagedWebLogic.sh
- Windows:
- 脚本会提示你输入管理服务器的用户名和密码(通常是
weblogic)。
-
访问管理控制台:
- 打开浏览器,访问管理控制台的地址,格式为:
http://<管理服务器IP>:<管理服务器端口>/console - 使用管理员账户登录。
- 打开浏览器,访问管理控制台的地址,格式为:
-
启动受管服务器:
(图片来源网络,侵删)- 在控制台左侧的域结构树中,导航到 Environment -> Servers。
- 在右侧的服务器列表中,找到你要启动的受管服务器。
- 选中该服务器,然后点击右上角的 “Start” 按钮(一个绿色的三角形图标)。
- 确认启动操作。
-
监控启动状态:
- 页面会刷新,显示服务器的状态,状态会从
STANDING->STARTING->RUNNING。 - 你可以点击 “Monitoring” 标签页,查看启动日志,实时监控启动过程。
- 页面会刷新,显示服务器的状态,状态会从
优点:
- 配置同步:确保受管服务器加载的是最新的配置。
- 集中管理:可以在一个地方统一启动、停止、监控所有服务器。
- 日志查看:方便地在控制台查看启动日志。
独立启动(不通过管理服务器)
这种方式在某些特定场景下使用,例如管理服务器宕机,或者你需要快速测试一个服务器的启动问题。
前提条件:
- 管理服务器可以不运行。
- 受管服务器必须已经从管理服务器同步过一次配置,这意味着在域的
config目录下,必须有该受管服务器的配置文件(config/config.xml中有其定义)。
操作步骤:
-
定位启动脚本:
- 登录到运行受管服务器的机器。
- 导航到该受管服务器自己的
bin目录,而不是域的根目录,路径通常为:<DOMAIN_HOME>/servers/<ServerName>/bin/
-
执行启动脚本:
- 执行启动脚本:
- Windows:
startWebLogic.cmd(注意,不是startManagedWebLogic) - Linux/Unix:
startWebLogic.sh
- Windows:
- 脚本会直接尝试启动该服务器。
- 执行启动脚本:
重要说明:
- 配置来源:这种方式启动时,受管服务器会从其本地
config目录加载配置,如果管理服务器后续修改了该服务器的配置,独立启动的服务器将不会感知到这些变更。 - 管理状态:独立启动的服务器在管理控制台中会显示为
ADMIN状态,而不是RUNNING,它与管理服务器失去了联系。
常见问题与排查
启动受管服务器时,经常会遇到各种问题,以下是几个最常见的问题及其解决思路。
管理服务器启动失败
如果管理服务器都启动不了,受管服务器自然也无法通过管理控制台启动。
- 端口冲突:检查管理服务器的监听端口(默认 7001)是否被其他进程占用。
- 排查:使用
netstat -ano | findstr 7001(Windows) 或lsof -i :7001(Linux)。
- 排查:使用
- 内存不足:检查
startManagedWebLogic.cmd/sh中设置的MEM_ARGS是否过大。 - 配置错误:检查
config.xml文件是否有语法错误。
受管服务器启动失败(通过管理控制台)
这是最常见的问题,控制台通常会给出错误信息,但日志是排查的根本。
-
找不到管理服务器:
- 错误信息:
Unable to get the Admin Server's URL...或连接被拒绝。 - 原因:受管服务器配置中的 "AdminServerName" 或 "Listen Address/Port" 错误,或者管理服务器真的没启动。
- 排查:检查
config/config.xml中该受管服务器的<server>标签配置,检查网络是否可达。
- 错误信息:
-
端口冲突:
- 错误信息:
Address already in use。 - 原因:受管服务器的 "Listen Port"(默认 7001,与管理服务器相同)被占用。
- 排查:确保每个服务器的 Listen Port 都是唯一的,使用
netstat/lsof命令检查。
- 错误信息:
-
内存不足:
- 错误信息:
OutOfMemoryError。 - 原因:受管服务器启动时分配的堆内存不够。
- 排查:在
startManagedWebLogic.cmd/sh中适当增加-Xmx的值。
- 错误信息:
-
数据库连接问题:
- 错误信息:如果受管服务器配置了需要连接的数据源或 JDBC Store,启动时会因无法连接数据库而失败。
- 排查:检查数据库是否启动,网络是否通畅,数据源配置的用户名、密码、URL 是否正确。
如何查看启动日志?
日志是排查问题的金钥匙。
-
通过管理控制台:
- 登录管理控制台。
- 导航到 Environment -> Servers。
- 点击你的受管服务器。
- 切换到 "Monitoring" 标签页。
- 点击 "View Log Files",然后点击 "stdout.log",这是服务器启动的标准输出日志。
-
直接查看文件:
- 日志文件位于受管服务器的
logs目录下:<DOMAIN_HOME>/servers/<ServerName>/logs/ - 关键日志文件:
stdout.log:标准输出日志,包含大部分启动信息和错误。<ServerName>.log:与stdout.log类似,有时内容更详细。<ServerName>.diag:WebLogic 12c 及以上版本引入的诊断框架日志,结构化信息,更易于分析。
- 日志文件位于受管服务器的
总结与最佳实践
| 特性 | 通过管理服务器启动 | 独立启动 |
|---|---|---|
| 管理服务器状态 | 必须运行 | 可选,可不运行 |
| 配置来源 | 从管理服务器实时获取 | 从本地 config 目录加载 |
| 状态同步 | 实时同步,状态为 RUNNING |
不同步,状态为 ADMIN |
| 适用场景 | 生产环境、日常运维 | 故障排查、测试、紧急恢复 |
| 推荐度 | ⭐⭐⭐⭐⭐ (首选) |
