Sun Java System Application Server Enterprise Edition 8.2 管理指南

應用程式伺服器指令

Application Server 的管理包含多項作業,如網域、叢集、節點代理程式和伺服器實例的建立、配置、控制和管理。本小節包含下列主題:

建立網域

網域是使用 create-domain 指令建立的。以下範例指令將建立名為 mydomain 的網域。Administration Server 在連接埠 1234 上進行偵聽,管理使用者名為 hanan。該指令提示您輸入管理密碼和主密碼。


$ asadmin create-domain --adminport 1234 --adminuser hanan mydomain

若要為 mydomain 網域啟動 Administration Console,請在瀏覽器中輸入以下 URL:


http://hostname:1234

對於前面的 create-domain 範例,網域的記錄檔、配置檔案和部署的應用程式現在常駐於以下目錄中:

domain-root-dir/mydomain

若要在其他位置建立網域目錄,請指定 --domaindir 選項。如需完整的指令語法,請鍵入 asadmin help create-domain

刪除網域

使用 asadmin delete-domain 指令可刪除網域。僅具有網域管理權限的作業系統使用者 (或 root 使用者) 才能成功地執行該指令。例如,若要刪除名為 mydomain 的網域,請鍵入以下指令:


$ asadmin delete-domain mydomain

列示網域

使用 asadmin list-domains 指令可找到在機器中建立的網域。若要列示預設 domain-root-dir 目錄中的網域,請鍵入以下指令:


$ asadmin list-domains

若要列示在其他目錄中建立的網域,請指定 --domaindir 選項。

啟動網域

啟動網域時,將啟動管理伺服器和應用程式伺服器實例。啟動應用程式伺服器實例之後,應用程式伺服器實例將持續執行、偵聽並接受請求。必須單獨啟動各個網域。

若要啟動網域,請鍵入 asadmin start-domain 指令並指定網域名稱。例如,若要啟動預設網域 (domain1),請鍵入以下指令:


$ asadmin start-domain --user admin domain1

如果只有一個網域,則可以省略網域名稱。如需完整的指令語法,請鍵入 asadmin help start-domain。如果省略了密碼資料,系統將提示您提供此資料。

在 Windows 上啟動預設網域

在 Windows [開始] 功能表中,依次選取 [程式集] -> [Sun Microsystems] -> [Application Server] -> [啟動 Admin Server]。

停止網域

停止網域將關閉該網域的管理伺服器和應用程式伺服器實例。停止網域時,伺服器實例將停止接受新的連線,然後等待所有未完成的連線完成。由於伺服器實例必須完成其關閉程序,因此該程序需要幾秒鐘時間。停止網域時,Administration Console 或大多數 asadmin 指令都無法使用。

若要停止網域,請鍵入 asadmin stop-domain 指令並指定網域名稱。例如,若要停止預設網域 (domain1),請鍵入以下指令:


$ asadmin stop-domain domain1

如果只有一個網域,則網域名稱是選擇性的。如需完整語法,請鍵入 asadmin help stop-domain

在 Windows 上停止預設網域

在 [開始] 功能表中,依次選取 [程式集] -> [Sun Microsystems] -> [Application Server] -> [停止 Admin Server]。

重新啟動網域

重新啟動伺服器與重新啟動網域相同。若要重新啟動網域或伺服器,請停止然後再啟動網域。

建立叢集

叢集是使用 create-cluster 指令建立的。以下範例建立了一個名為 mycluster 的叢集。管理伺服器主機是 myhost,伺服器連接埠是 1234,而管理使用者名稱是 admin。該指令提示您輸入管理密碼。


$ asadmin create-cluster --host myhost --port 1234 --user admin mycluster

如需完整語法,請鍵入 asadmin help create-cluster

啟動叢集

叢集是使用 start-cluster 指令啟動的。以下範例啟動了名為 mycluster 的叢集。該指令提示您輸入管理密碼。


$ asadmin start-cluster --host myhost --port 1234 --user admin mycluster

myhost 是管理伺服器主機,1234 是管理連接埠,admin 則是管理使用者名稱。

如需完整語法,請鍵入 asadmin help start-cluster。啟動某叢集後,即會啟動該叢集中的所有伺服器實例。沒有伺服器實例的叢集無法啟動。

停止叢集

叢集是使用 stop-cluster 指令停止的。以下範例停止了名為 mycluster 的叢集。該指令提示您輸入管理密碼。


$ asadmin stop-cluster --host myhost --port 1234 --user admin mycluster

myhost 是管理伺服器主機,1234 是管理連接埠,admin 則是管理使用者名稱。

如需完整語法,請鍵入 asadmin help stop-cluster。停止某叢集後,即會停止該叢集中的所有伺服器實例。沒有伺服器實例的叢集無法啟動。

建立節點代理程式

節點代理程式是使用 create-node-agent 指令建立的。以下範例將建立一個名為 mynodeagent 的節點代理程式。管理伺服器主機是 myhost,管理伺服器連接埠是 1234,而管理使用者名稱是 admin。該指令提示您輸入管理密碼。


$ asadmin create-node-agent --host myhost --port 1234 --user admin mynodeagent

如需完整語法,請鍵入 asadmin help create-node-agent

啟動節點代理程式

節點代理程式是透過使用 start-node-agent 指令並指定節點代理程式名稱啟動的。例如,若要啟動節點代理程式 mynodeagent,請鍵入下列指令:


$ asadmin start-node-agent --user admin mynodeagent

如需完整語法,請鍵入 asadmin help start-node-agent

停止節點代理程式

節點代理程式是透過使用 stop-node-agent 指令並指定節點代理程式名稱停止的。例如,若要停止節點代理程式 mynodeagent,請鍵入下列指令:


$ asadmin stop-node-agent mynodeagent

如需完整語法,請鍵入 asadmin help stop-node-agent

建立實例

伺服器實例是使用 create-instance 指令建立的。以下範例將建立一個名為 myinstance 的實例。管理伺服器主機是 myhost,管理伺服器連接埠是 1234,而管理使用者名稱是 admin。該指令提示您輸入管理密碼。

以下範例將建立一個名為 myinstance 的叢集伺服器實例。該指令提示您輸入管理密碼。


$ asadmin create-instance --host myhost --port 1234 
--user admin --cluster mycluster --nodeagent mynodeagent myinstance

管理伺服器主機是myhost,管理連接埠是 1234,管理使用者名稱是 admin,此伺服器實例所屬的叢集是 mycluster,管理此伺服器實例的節點代理程式是 mynodeagent

如需完整語法,請鍵入 asadmin help create-instance

若要建立獨立的伺服器實例,請勿指定 --cluster 選項。

以下範例將建立一個名為 myinstance 的獨立伺服器實例,由名為 mynodeagent 的節點代理程式所管理。


$ asadmin create-instance --host myhost --port 1234 
--user admin --nodeagent mynodeagent myinstance

啟動實例

伺服器實例是使用 start-instance 指令啟動的。以下範例啟動了名為 myinstance 的伺服器實例。該指令提示您輸入管理密碼。


$ asadmin start-instance --host myhost --port 1234 --user admin  myinstance

管理伺服器主機是 myhost,管理連接埠是 1234,而管理使用者名稱是 admin。伺服器實例 myinstance 可以加入叢集,也可以保持獨立。

如需完整語法,請鍵入 asadmin help start-instance

停止實例

伺服器實例是使用 stop-instance 指令停止的。以下範例停止了名為 myinstance 的實例。該指令提示您輸入管理密碼。


$ asadmin stop-instance --host myhost --port 1234 --user admin  myinstance

管理伺服器主機是 myhost,管理連接埠是 1234,而管理使用者名稱是 admin。伺服器實例 myinstance 可予以叢集或保持獨立。

如需完整語法,請鍵入 asadmin help stop-instance

重新啟動實例

若要重新啟動伺服器實例,請先停止然後再啟動實例。

重新建立網域管理伺服器

若要進行鏡像並提供網域管理伺服器 (DAS) 的工作副本,您必須具有:


備註 –

必須保留一份第一台機器上的 DAS 的備份。使用 asadmin backup-domain 來備份目前網域。


Procedure遷移 DAS

以下步驟用於將 Domain Administration Server 從第一台機器 (machine1) 遷移到第三台機器 (machine3):

  1. 將 Application Server 安裝在第三台機器上,方法與在第一台機器安裝時上相同。

    為了可以在第三台機器上正確地復原 DAS 並且不會發生路徑衝突,您必須執行此操作。

    1. 使用指令行 (互動) 模式來安裝 Application Server 管理套裝軟體。若要啟動指令行互動模式,請使用 console 選項呼叫安裝程式:


      ./bundle-filename -console

      若要使用指令行介面進行安裝,您必須具有 root 許可權。

    2. 若要安裝預設網域,請取消選取該選項。

      只有具有相同架構並具有完全相同的安裝路徑 (即,兩台機器使用相同的 install-dirdomain-root-dir) 的兩台機器才支援備份網域的復原。

  2. 將第一台機器上的備份 ZIP 檔案複製到第三台機器上的 domain-root-dir 目錄中。也可以透過 FTP 方式複製檔案。

  3. 執行 asadmin restore-domain 指令,以將 ZIP 檔案復原到第三台機器:


    asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1

    可以備份任何網域。但是,在重新建立網域時,網域名稱應與原始網域名稱相同。

  4. 變更第三台機器上的 domain-root-dir/domain1/generated/tmp 目錄的權限,以與第一台機器上相同目錄的權限相符。

    該目錄的預設許可權為:?drwx------? (或 700)。

    例如︰

    chmod 700 domain-root-dir/domain1/generated/tmp

    以上範例假定您備份的是 domain1。如果備份的是其他名稱的網域,則應使用要備份網域的名稱取代上述的 domain1

  5. 變更第三台機器的 domain.xml 檔案中的主機特性值:

  6. 更新第三台機器上的 domain-root-dir/domain1/config/domain.xml

    例如,搜尋 machine1 並將其替代為 machine3。這樣,您就可以將:

    <jmx-connector><property name=client-hostname value=machine1/>...

    變更為:

    <jmx-connector><property name=client-hostname value=machine3/>...
  7. 將:

    <jms-service... host=machine1.../>

    變更為:

    <jms-service... host=machine3.../>
  8. 在 machine3 上啟動復原的網域:


    asadmin start-domain --user admin-user --password admin-password domain1
  9. 在 machine2 上變更節點代理程式下的 DAS 主機特性值。

  10. 在 machine2 上變更 install-dir/nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 特性值。

  11. 在 machine2 上重新啟動節點代理程式。


    備註 –

    使用 asadmin start-instance 指令啟動叢集實例,以使這些實例與復原網域同步。


變更管理員密碼

若要重設管理員密碼,必須先停止網域中所有的節點代理程式。這會停止所有相關聯的伺服器實例。現在,所有的伺服器實例和節點代理程式都已停止,只有 Domain Administration Server (DAS) 仍在執行。

接著您就可以依照下列指示,變更管理使用者的密碼:

  1. 使用指令行介面變更管理密碼:

    asadmin update-file-user --authrealmname admin-realm ... --userpassword newpassword <admin-user-name>

  2. 使用 Admin Console 變更管理密碼:

    選取管理伺服器的配置節點 > [安全性] > [範圍] > [管理範圍] > [編輯檔案範圍使用者]。

    這時會出現一則訊息,指示您已成功地變更管理員密碼。

  3. 請依照下列說明,使用新密碼重新啟動 Domain Admin Server (DAS):

    使用指令行介面:asadmin start-domain --user admin --password newpassword domain1

    假設以下配置:一個網域具有兩個節點代理程式 (i1na, c1-na) 以及三個實例 (位於名為 c1 之同一叢集的 c1i1c1i2,以及一個獨立的伺服器實例 i1)。

  4. 使用新密碼重新啟動節點代理程式,但不啟動實例。

    例如︰

    asadmin start-node-agent --user admin --password newpassword --startinstances=false i1-na asadmin

    asadmin start-node-agent --user admin --password newpassword --startinstances=false c1-na

  5. 重新啟動伺服器和叢集。

    asadmin start-node-agent --user admin --password newpassword ... c1

    asadmin start-node-agent --user admin --password newpassword i1