服务器命令选项
server 命令支持启动、停止、创建、封装和转储 Liberty 服务器。本主题描述了可以与 server 命令以及等价的可执行 JAR 文件 ws-server.jar 配合使用的所有可用选项和退出代码。
语法
命令语法如下所示:
server action serverName [options]
action 的值表示您可以在 Liberty 服务器上执行的操作。请参阅可以从命令提示符使用的 Liberty 管理操作。
选项
- --archive=“path_to_the_target_archive_file”
为 package 或 dump操作指定目标文件。此路径可以是相对路径(相对于 Liberty 的安装根目录),也可以是绝对路径。缺省归档目标是具有服务器名称的压缩文件,将存储在安装根目录中。如果值包含空格,请使用引号将值引起来。可以将此选项用于 package 和 dump 操作。
如果您为归档文件名指定 .jar 扩展名,那么 server 命令将创建一个新的自抽取归档文件,可以使用 java 命令从此归档文件来安装 Liberty 服务器。有关更多信息,请参阅产品文档中的“通过解压 Java™ 归档文件来安装 Liberty”。z/OS® 平台上未提供 .jar 扩展工具。
- --clean
- 清除与所指定的服务器实例相关的所有持久高速缓存的信息,其中包括 OSGi 解析器元数据和持久 OSGi 捆绑软件数据。如果您使用此选项,那么服务器在下一次启动时将需要重新计算任何已高速缓存的数据,这可能会比重新启动耗用更多时间,重新启动时可以复用已高速缓存的数据。注: 对于正常操作,不需要此选项。如果提供临时修订,或者存在与已高速缓存的数据有关的可疑问题,那么 IBM® 服务可能会请求您使用此选项。如果您正在开发产品扩展,并且正在更新 OSGi 清单或者打算清除持久 OSGi 捆绑软件数据,那么可能也需要此选项。
- --include=package_option
- 指定要打包的文件,其中 package_option 可以采用下列其中一个值:
- all 指定要封装 Liberty 安装目录中的所有文件。如果 ${WLP_USER_DIR} 和 ${WLP_OUTPUT_DIR} 是在 server.env 文件中定义,那么会将其中的文件打包。此值仅适用于 package 操作。
- usr 指定要将 ${WLP_USER_DIR} 目录中的文件打包。此值仅适用于 package 操作。
- minify 指定仅打包运行服务器所需的运行时环境中那些部分及 ${WLP_USER_DIR} 目录中的文件,以最大程度地减小所生成归档的大小。此值仅适用于 package 操作。
- --include=diagnose_option,diagnose_option,...
- 指定要捕获的诊断信息类型。--include 的值是用逗号定界的列表,该列表可以包含下列任何值:
- heap 用于帮助诊断超出内存消耗和内存泄漏,这会显示内存中的实时对象及其之间的引用。在 IBM J9 虚拟机上,产生的文件名称为 heapdump.date.time.processID.sequenceNumber.phd。在 HotSpot 虚拟机上,产生的文件名称为 java.date.time.processID.sequenceNumber.hprof。此值适用于 dump 和 javadump 操作。
- system 也用于帮助诊断超出内存消耗和内存泄漏,但它们还可用来查找虚拟机中的缺陷。这些转储仅在 IBM J9 虚拟机上受支持。产生的文件的名称为 core.date.time.processID.sequenceNumber.dmp。此值适用于 dump 和 javadump 操作。
- thread 用于帮助诊断挂起的线程和死锁,有时可用于诊断 CPU 过度使用问题。这些转储总是可以使用 server javadump 命令来创建。在 IBM J9 虚拟机上,产生的文件名称为 javacore.date.time.processID.sequenceNumber.txt。在 HotSpot 虚拟机上,产生的文件名称为 javadump.date.time.processID.sequenceNumber.txt。此值也适用于 dump 操作。注: 仅当正在 Java SDK 上运行服务器时,才支持线程转储类型。如果服务器使用 JRE 启动,那么系统将报告错误来指示服务器不支持该转储类型。此限制仅适用于 HotSpot 虚拟机;线程 Java 转储类型受任何 IBM JVM(JRE 或 SDK)支持。
- --os=os_value,os_value,...
- 指定您希望所打包的服务器支持的操作系统。请提供以逗号分隔的列表。缺省值为 any,表明可将服务器部署到该源支持的任何操作系统。
要指定某个操作系统不受支持,请在它前面添加减号 (-)。有关操作系统值的列表,请参阅位于以下 URL 的 OSGi Alliance Web 站点:https://www.osgi.org/developer/specifications/reference/#os。
此选项仅适用于 package 操作,并且只能与 --include=minify 选项一起使用。如果排除操作系统,那么稍后对归档重复 minify 操作时,不能包含操作系统。
--target=pausable_component,pausable_component,...
指定可暂停的特定组件的逗号分隔列表。如果指定 target 选项,那么仅会暂停或恢复列出的组件。有关示例 target 值的列表,请参阅从命令行暂停和恢复 Liberty 服务器。
服务器进程
- 用于对应用程序进行跟踪、监视和增量发布的功能以及其他服务器功能需要 -javaagent:wlp/bin/tools/ws-javaagent.jar 选项。
- -Xshareclasses 和相关选项允许在受支持的 IBM J9 虚拟机上进行共享类高速缓存。高速缓存目录设置为 WLP_OUTPUT_DIR/.classCache。
- 针对 Java 8 之前的版本,-XX:MaxPermSize 选项将增大永久生成的 HotSpot 虚拟机的大小。可将 WLP_SKIP_MAXPERMSIZE 环境变量设置为 true 以避免使用此缺省选项,这将避免出现如下警告:
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
- -Djava.awt.headless=true 选项在所有平台上用于避免发生 java.awt.HeadlessException,在 Mac OS X 上侧重于偷窃问题。
可以使用 jvm.options 文件来覆盖这些缺省 JVM 选项或者添加更多 JVM 选项。有关 server.env 和 jvm.options 文件的更多信息,请参阅定制 Liberty 环境。


- 使用 server.env 文件。
- 此外,如果您使用 z/OS 过程来启动服务器,那么可以使用 STDENDV DD 条目来指定该属性。
服务器进程的当前工作目录设置为服务器输出目录。
启动服务器时,server 命令创建进程标识 (PID) 文件,停止服务器时,该命令删除 PID 文件。缺省情况下,PID
文件设置为 WLP_OUTPUT_DIR/.pid/serverName.pid。可通过设置 PID_FILE
环境变量更改 PID 文件的绝对路径,也可通过设置 PID_DIR 环境变量更改 PID 目录的绝对路径。
当使用 run 和 debug 操作时,服务器进程产生的标准输出和错误将输出到前台控制台;当使用 start 操作时,缺省情况下会将标准输出和错误重定向到 WLP_OUTPUT_DIR/serverName/logs/console.log 文件。可以通过设置 LOG_FILE 环境变量来更改日志名称,可以通过设置 LOG_DIR 环境变量来更改日志目录。有关日志记录配置的更多信息,请参阅 记录和跟踪。
stop 操作会阻止新的应用程序请求进入服务器,这允许现有请求有时间完成。此时间过去后,余下服务器组件停止,服务器进程退出。未在允许时间内完成的应用程序请求将失败,但它们的确切行为取决于它们在服务器组件停止时的活动。
退出码
- 0
- 正常。0 指示已成功完成所请求的操作。对于服务器状态,0 指示服务器处于运行状态。
- 1
- 对于服务器状态,1 指示服务器未处于运行状态。对于其他操作,它指示调用了多余的操作。例如,启动已启动的服务器,或者停止已停止的服务器。如果使用了无效的 Java 选项,那么 JVM 也可能会返回此代码。
- 2
- 服务器不存在。
- 3
- 对运行中服务器调用了不受支持的操作。例如,调用打包操作时,服务器处于运行状态。
- 4
- 对已停止的服务器调用了不受支持的操作。例如,调用转储操作时,服务器未处于运行状态。
- 5
- 未知的服务器状态。例如,缺少 workarea 目录,或者连接 API 不起作用。
- >=20
- 大于或等于 20 的返回码表示在执行请求时发生错误。系统将显示消息并将它们及有关该错误的更多信息捕获到日志文件中。
用法
以下示例说明了正确的语法:
server run
server start myserver --clean
server package myserver --archive="archivefile.zip" --include=all
server dump myserver --archive="c:\mybackup\myserver.zip" --include=thread
server javadump myserver
server javadump myserver --include=thread,system