伺服器指令選項
server 指令支援啟動、停止、建立、包裝及傾出 Liberty 伺服器。 這個主題說明可搭配 server 指令以及對等的 JAR 執行檔 ws-server.jar 使用的所有選項及結束碼。
語法
指令語法如下:
server action serverName [options]
action 的值代表 Liberty 伺服器上所能執行的作業。 請參閱 從命令提示字元取得 Liberty 的可用管理作業。
defaultServer(如果存在的話) 執行動作。選項
- -- archive=
path_to_the_target_archive_file
指定 package 或 dump 作業的目標檔。 這個路徑可能是 Liberty 安裝根目錄的相對路徑,也可能是絕對路徑。 預設保存目標是一個含有伺服器名稱的壓縮檔,它會儲存在安裝根目錄中。 如果值含有空格,請使用引號。 這個選項可用於 package 和 dump 作業。
如果您指定保存檔名稱的 .jar 副檔名, server 指令會建立新的自行解壓縮保存檔,您可以利用 java 指令來安裝 Liberty 伺服器。 如需相關資訊,請參閱產品說明文件中的解壓縮 Java 保存檔來安裝 Liberty。 在 z/OS® 平台上無法使用 .jar 延伸機能。
- --clean
- 清理與指定伺服器實例相關的所有持續性快取資訊,其中包括 OSGi 解析器 meta 資料及持續性 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 作業。
- all 指定包裝 Liberty 安裝目錄中的所有檔案。 如果
- -- 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 虛擬機器; 任何 IBM JVM (JRE 或 SDK) 都支援執行緒 Java 傾出類型。
- -- os=os_value,os_value,...
- 指定包裝的伺服器所要支援的作業系統。 請提供以逗點區隔的清單。 預設值為 any,指出伺服器可部署到來源所支援的任何作業系統。
若要指定不支援作業系統,請以減號 (-) 作為其字首。 如需作業系統值清單,請參閱 OSGi Alliance 網站,網址如下: https://www.osgi.org/developer/specifications/reference/#os。
這個選項只適用於 package 作業,只能搭配 --include=minify 選項來使用。 如果您排除某個作業系統,之後當您對保存檔重複 minify 作業時,就無法包含它。
- -- target=pausable_component,pausable_component,...
- 指定可暫停的特定元件清單(以逗點區隔)。 如果您指定 target 選項,則只會暫停或回復列出的元件。 如需範例目標值的清單,請參閱 從指令行暫停及回復 Liberty 伺服器。
伺服器程序
- 使用追蹤、監視、漸進式發佈應用程式,以及其他伺服器功能時,需要指定 -javaagent:wlp/bin/tools/ws-javaagent.jar 選項。
- -Xshareclasses 及相關選項會在支援的 IBM J9 虛擬機器上啟用共用類別快取。 快取目錄設為 WLP_OUTPUT_DIR/.classCache。
- -XX:MaxPermSize 選項會增加 Java 8 之前 HotSpot 虛擬機器永久產生的大小。 您可以將 WLP_SKIP_MAXPERMSIZE 環境變數設為 true 以避免此預設選項,這會避免警告,例如:
Java HotSpot(TM) 用戶端 VM 警告:忽略 MaxPermSize=256m 選項;8.0 已移除這項支援
- -Djava.awt.headless=true 選項會避開所有平台上的 java.awt.HeadlessException,並將焦點放在 Mac OS X 上的竊取問題。
您可以利用 jvm.options 檔來置換這些預設的 JVM 選項,或新增其他 JVM 選項。 如需 server.env 和 jvm.options 檔的相關資訊,請參閱 自訂 Liberty 環境。
Other 使用者的所有許可權。 您可以在 server.env 檔中將 WLP_SKIP_UMASK 環境變數設為 true ,以防止伺服器指令修改 umask。 如果您設定 WLP_SKIP_UMASK 環境變數,伺服器會從作業的基礎程序來使用 umask。 在 z/OS上,您可以使用下列其中一種方式來指定 WLP_SKIP_UMASK 內容:- 使用 server.env 檔案。
- 或者,如果您使用 z/OS 程序來啟動伺服器,則可以使用
STDENDV DD項目來指定內容。
伺服器程序的現行工作目錄設為伺服器輸出目錄。
server 指令會在您啟動伺服器時建立處理程序 ID (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
- 在執行中的伺服器上,呼叫不支援的動作。 例如,當呼叫 package 動作時,伺服器正在執行中。
- 4
- 在已停止的伺服器上,呼叫不支援的動作。 例如,當呼叫 dump 動作時,伺服器不在執行中。
- 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