伺服器指令選項
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 解析器 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 作業。
- --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 網站,URL 如下:http://www.osgi.org/Specifications/Reference#os。
這個選項只適用於 package 作業,只能搭配 --include=minify 選項來使用。如果您排除某個作業系統,之後當您對保存檔重複 minify 作業時,就無法包含它。
伺服器程序
- 使用追蹤、監視、漸進式發佈應用程式,以及其他伺服器功能時,需要指定 -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) 用戶端 VM 警告:忽略 MaxPermSize=256m 選項;8.0 已移除這項支援
- -Djava.awt.headless=true 選項會避開所有平台上的 java.awt.HeadlessException,並將焦點放在 Mac OS X 上的竊取問題。
您可以利用 jvm.options 檔來置換預設的 JVM 選項,或新增其他 JVM 選項。 如需 server.env 和 jvm.options 檔的相關資訊,請參閱自訂 Liberty 環境。
在執行動作之前,依預設,server 指令會設定 umask 值,以拒絕對「其他」使用者的所有許可權。不過,您可以將 WLP_SKIP_UMASK 環境變數設為 true,以避免設定 umask 值。
伺服器程序的現行工作目錄設為伺服器輸出目錄。
server 指令會在您啟動伺服器時,建立程序 ID (PID) 檔,並在您停止伺服器時,刪除 PID 檔。依預設,PID 檔設為
WLP_OUTPUT_DIR/.pid/serverName.pid。您可以設定 PID_FILE 環境變數或設定 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