startServer 指令

startServer 指令會讀取指定伺服器程序的配置檔,並啟動該伺服器程序。

startServer 指令可用來:
  • 啟動應用程式伺服器。
  • 啟動 DMZ Secure Proxy Server for IBM® WebSphere® Application Server
  • 啟動管理代理程式。
  • 啟動工作管理程式。
附註: 這個主題參照一或多個應用程式伺服器日誌檔。 作為建議的替代方案,您可以將伺服器配置成使用「高效能可延伸記載 (HPEL)」日誌和追蹤基礎架構,而不使用分散式和 IBM i 系統上的 SystemOut.logSystemErr.logtrace.logactivity.log 檔。 您也可以將 HPEL 與原生 z/OS® 記載機能一起使用。 如果您使用 HPEL,則可以從伺服器設定檔 bin 目錄,利用 LogViewer 指令行工具來存取您所有的日誌和追蹤資訊。 如需使用 HPEL 的相關資訊,請參閱 使用 HPEL 的相關資訊 ,以進行應用程式疑難排解。

[Windows]如果您在 Windows™ Windows 作業系統上執行產品,且伺服器作為 Windows 作業系統服務執行,則 startServer 指令會啟動伺服器及相關聯的 Windows 服務。

您不需要在 startServer 指令中使用使用者名稱和密碼,因為這個指令會啟動伺服器程序,但不會呼叫 MBean 方法。

避免麻煩: 您可以利用管理主控台來變更伺服器的 Java™ 虛擬機器類別路徑設定或環境項目設定。 不過,在進行這些變更之前,應該要瞭解變更之後會有下列結果:
  • 發出 startServer -script 指令時,會建立一個含有靜態值的 Script。 當您從主控台變更 JVM 參數時,為了容納這些已變更的 JVM 參數,需要產生新的 Script。
  • 當您執行 startServer -script 時,指令會產生新的 Script,其中含有執行指令時的所有參數值。 如果您變更參數的值(或新增參數),產生的 Script 並不會有這些新的參數值。 這些新值會以靜態方式傳遞到新產生的 Script,因此,在建立這個 Script 之後所做的任何變更,都需要新的 startServer -script,來產生含有這些更新值的新 Script。
  • 如果您變更 Java 虛擬機器類別路徑設定的值,這個新值會置換啟動指令中的 Classpath 參數值,依預設,這個指令會在您發出 startServer -script 指令時所產生的 Script 中設定。
  • 如果您在「環境項目」頁面中新增環境項目,或變更現有項目的設定,新值和變更值會以參數形式,出現在您發出 startServer -script 指令時所產生的 Script 中。
  • 如果您所新增的環境項目中,有一個項目稱為 PATH,則指定給這個項目的值,會置換 setUpCmdLine 檔中指定的 PATH 變數值(依預設,設為 WAS_PATH)。 如果 PATH 變數值遭到置換,會傳送下列訊息到記載了錯誤訊息的檔案:
    WSVR0009E: Error occured during startup. com.ibm.ws.exception.RuntimeError: 
    java.lang.NoClassDefFoundError: com/ibm/ws/process/Win32ProcessGlue

如需這個指令執行位置的相關資訊,請參閱使用指令行工具主題。

語法

指令語法可為下列之一:
startServer server_name [options]

其中 server_name 是您要啟動之應用程式伺服器或 DMZ Secure Proxy Server for IBM WebSphere Application Server 的名稱。

[z/OS][AIX Solaris HP-UX Linux Windows]這是必要引數。

[IBM i]這是選用引數。 如果未指定這個引數,會根據您的設定檔名稱來指派伺服器。 If you use the profile named default, the <server> argument is set to server1. If the profile name is not default, the <server> argument is set to the profile name.

startServer <adminagent_name>

其中 adminagent_name 是您要啟動之管理代理程式的名稱。

startServer <job_manager>

其中 job_manager 是您要啟動之工作管理程式的名稱。

參數

startServer 指令的可用選項如下:

-?
列印用法說明。
[IBM i]-curlib <product_library>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令所用的現行程式庫。
[IBM i]-cpyenvvar
[IBM i]指示 startServer 指令設定目前定義給伺服器處理程序的環境變數。 預設值是不設定目前定義的環境變數。
-help
列印用法說明。
[IBM i]-inllibl <library_list>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令所用的起始程式庫清單。
[IBM i]-inlaspgrp <ASP_group>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令的起始 ASP 群組。
[z/OS][AIX Solaris HP-UX Linux Windows]-J <java_option>
[z/OS][AIX Solaris HP-UX Linux Windows]指定要傳遞至 Java 直譯器的選項。
[IBM i]-jobd <product_library/job_description>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令的工作說明。
[IBM i]-jobq <product_library/job_queue>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令的工作佇列。
[z/OS][AIX Solaris HP-UX Linux Windows]-logfile <fileName>
[z/OS][AIX Solaris HP-UX Linux Windows]指定要寫入追蹤資訊的日誌檔位置。 依預設,日誌檔名稱為 startServer.log,建立在您的 logs 目錄中。
[AIX Solaris HP-UX Linux Windows][IBM i]-nowait
[AIX Solaris HP-UX Linux Windows][IBM i]告知 startServer 指令不要等待已啟動伺服器程序順利起始設定。
[IBM i]-outq <product_library/output_queue>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令的輸出佇列。
-profileName
定義多重設定檔安裝架構中的伺服器程序設定檔。 如果要在單一設定檔環境中執行,-profileName 選項不是必要選項。 這個選項的預設值是預設設定檔。
[z/OS][AIX Solaris HP-UX Linux Windows]-quiet
[z/OS][AIX Solaris HP-UX Linux Windows]隱藏 startServer 指令以標準模式列印的進度資訊。
[z/OS][AIX Solaris HP-UX Linux Windows]-replacelog
[z/OS][AIX Solaris HP-UX Linux Windows]取代日誌檔,而不是附加至現行日誌。
-recovery
指定伺服器將在回復模式下啟動、執行交易式回復,然後關閉。 處於回復模式的伺服器不接受任何新的交易。 當您重新啟動伺服器時,因交易有問題而無法使用的資源,將可供使用。

如果伺服器失敗,且您不想在回復程序期間接受新交易,請使用這個選項。

對於轉移使用者: 如果您是從舊版產品移轉,請確定控制器的 JCL 程序陳述式所包含的 ENV 參數包括 REC=N 或 REC=Y 元素。 如果 ENV 參數沒有包含 REC=N 或 REC=Y 元素,伺服器將不會在回復模式下重新啟動,即使您指定 -recovery 選項也一樣。

[z/OS]如果 ENV 參數包含 REC=N 元素,如果您在重新啟動伺服器時指定了 -recovery,會自動將設定變更為 REC=Y。 如果您沒有從產品舊版移轉,ENV 參數會自動包含 REC=N 元素。 下列範例是 PROC 陳述式更新後的可能樣貌:

//BBO6ACR  PROC ENV=,PARMS=' ',REC=N,Z=BBO6ACRZ
[IBM i]當您使用 -recovery 參數來呼叫 startServer 指令且回復處理程序不成功時, SystemErr.logSystemOut.log 檔案中會出現下列錯誤訊息:
CWNATV03I: Application server xxxxxx in profile xxxxxx has completed recovery. Server stopped.
訊息沒有指出回復程序不成功。 如果您使用 -recovery 參數,請檢查您正在啟動之伺服器的 SystemErr.logSystemOut.log 檔,以瞭解回復程序是否成功。
[IBM i]-sbs <product_library/subsystem_description>
[IBM i]指定基礎「提交工作」(SBMJOB) CL 指令所用的子系統。
[z/OS][AIX Solaris HP-UX Linux Windows]-statusport <portNumber>
[z/OS][AIX Solaris HP-UX Linux Windows]可讓管理者設定伺服器狀態回呼埠號的選用參數。 工具會開啟這個埠,並等待伺服器發出狀態回呼,來指出伺服器已啟動。 如果未設定這個參數,便會自動配置未用的埠。
[z/OS][AIX Solaris HP-UX Linux Windows]-script [<script fileName>] -background
[z/OS][AIX Solaris HP-UX Linux Windows]使用 startServer 指令來產生啟動 Script ,而不是直接啟動伺服器程序。 啟動 Script 名稱是選用的引數。 如果您沒有提供啟動 Script 名稱,預設 Script 檔名是 start_server,此視當成第一個引數傳遞給 startServer 指令的伺服器名稱而定。 -background 是選用參數,指定當您執行產生的 Script 時,將在背景執行它。
-trace
[z/OS][AIX Solaris HP-UX Linux Windows]會將追蹤資訊產生至日誌檔以進行除錯。
[IBM i]對啟動伺服器的原生程序程式碼啟用追蹤。 追蹤輸出會寫入至 was_jobname-jobuser-jobnum.log 檔,這個檔案位於 profile_root/logs 目錄。
-timeout <seconds>
指定在伺服器起始設定逾時並傳回錯誤之前的等待時間。
[IBM i]-usejobd
[IBM i]指定在切換至「執行身分」使用者 ID 時,要使用伺服器之「提交工作 (SBMJOB)」程序中的工作說明。
附註: 此指令不會影響現行工作說明的 USER 欄位。

使用實務

下列範例示範正確的語法。 括弧內的資訊是您發出上述指令時,所建立之輸出的說明。

[AIX Solaris HP-UX Linux Windows]
startServer server1

startServer server1 -script (produces the start_server1.sh or .bat files)

startServer server1 -trace (produces the startserver.log file)

startServer adminagent

startServer.sh server1 -trace -username MyUserName -password MyUserPassword
 -profileName MyProfileName     (starts the server1 server using the 
         MyProfileName profile. The server runs under the user name MyUserName,
         and produces trace files under the profile_root/logs directory)
startServer jobmgr

startServer proxy1 (for the secure proxy profile)
[z/OS]
startServer server1

startServer server1 -script (produces the start_server1.sh file)

startServer server1 -trace (produces the startserver.log file)

startServer adminagent

startServer jobmgr

startServer proxy1 (for the secure proxy profile)

startServer.sh server1 -trace -username MyUserName -password MyUserPassword
 -profileName MyProfileName     (starts the server1 server using the 
         MyProfileName profile. The server runs under the user name MyUserName,
         and produces trace files under the profile_root/logs directory)
[IBM i]
startServer server1 (starts the server1 server for the default profile)

startServer server1 -trace (starts the server1 server for
the default profile and produces trace files under the
profile_root/logs directory)

startServer -profileName mytest (starts server mytest 
configured under profile mytest)

startServer AdminAgent01
startServer JobMgr01

startServer proxy1 (default server name for the SecureProxySrv01 profile)
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
 -profileName MyProfileName     (starts the server1 server using the 
         MyProfileName profile. The server runs under the user name MyUserName,
         and produces trace files under the profile_root/logs directory)

結束碼

如何擷取 startServer 和 stopServer 回覆碼,以判斷是否成功? 這份表格顯示伺服器給定啟動或停止指令的回覆碼。

下列的 Script 範例是執行並擷取 server1 的回覆碼:
#!/bin/sh
exitCode=`./startServer.sh server1`
exitCode 值可與下列回覆碼清單互相比較,以判斷指令的結果:
伺服器狀態 回覆碼
伺服器起始設定失敗 -1
伺服器起始設定逾時 -2
伺服器啟動中 1
伺服器正在起始設定既存的應用程式 2
伺服器起始設定完成(成功) 0
伺服器停止失敗 -10
伺服器停止逾時 -11
伺服器停止作業已啟動 1000
伺服器已順利停止 0