Application Server 網域是為協助管理員管理系統配置而建立的邏輯或實體單元。一個網域分為很多包括實例和節點代理程式的較小單元。伺服器實例是在單一實體機器上執行 Application Server 的單一 Java 虛擬機器 (JVM)。每個網域都有一個或多個實例。網域還必須至少有一個相關聯的節點代理程式才能使實例正常工作。可以將網域群組在一起以建立一個叢集。叢集使管理員可以管理多組硬體和軟體。
管理網域提供了一種基本的安全結構,不同的管理員可以藉此管理 Application Server 實例的特定群組 (網域)。透過將伺服器實例群組至單獨的網域中,不同的組織和管理員可以共用單一 Application Server 安裝。每個網域都有自己的獨立於其他網域的配置、記錄檔和應用程式部署區域。如果變更某個網域的配置,其他網域的配置不會受到影響。
每個管理主控台階段作業均允許您配置和管理網域。如果建立了多個網域,則必須啟動其他 Administration Console 階段作業以管理每個網域。每個網域都具有自己的 Domain Administration Server (DAS),該伺服器具有唯一的連接埠號。每個管理網域可以有多個應用程式伺服器實例。但是,一個應用程式伺服器實例只能屬於一個網域。安裝 Application Server 時,將自動建立名為 domain1 的管理網域。
網域是使用 create-domain 指令建立的。以下範例指令將建立名為 mydomain 的網域。Administration Server 在連接埠 1234 上進行偵聽,管理使用者名為 hanan。該指令提示您輸入管理密碼和主密碼。
$ asadmin create-domain --adminport 80 --adminuser hanan mydomain |
若要為 mydomain 網域啟動 管理主控台,請在瀏覽器中輸入以下 URL:
http://hostname:80 |
對於前面的 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。如果省略了密碼資料,系統將提示您提供此資料。
asadmin start-domain domain1 指令應由安裝伺服器的使用者來執行。如果未由該使用者執行,則應從安裝使用者的主目錄中將 .asadmintruststore 移動或複製到執行使用者的主目錄中。
請注意,如果將該檔案從安裝使用者的主目錄移動 (而非複製) 到執行使用者的主目錄,您可能會遇到應用程式升級問題,因為升級/安裝使用者的主目錄中將不再具有 .asadmintruststore 檔案。
如果已刪除某網域的 .asadmintruststore 檔案,還是可以輕鬆建立新檔案
使用本機 asadmin start-domain 指令啟動您要管理的網域。
請注意,本機 asadmin 指令不需要 .asadmintruststore 檔案即可啟動網域。
執行任何遠端 asadmin 指令。
執行遠端 asadmin 指令時需要指定 --user、--passwordfile (--password)、--host 和 --port 選項,還要求目標網域處於執行狀態。
當系統提示時,按下「y」鍵即可接受新的網域憑證。
在 Windows [開始] 功能表中,依次選取 [程式集] -> [Sun Microsystems] -> [Application Server] -> [啟動 Admin Server]。
重新啟動伺服器與重新啟動網域相同。若要重新啟動網域或伺服器,請停止然後再啟動網域。
停止網域將關閉該網域的管理伺服器和應用程式伺服器實例。停止網域時,伺服器實例將停止接受新的連線,然後等待所有未完成的連線完成。由於伺服器實例必須完成其關閉程序,因此該程序需要幾秒鐘時間。停止網域時,管理主控台 或大多數 asadmin 指令都無法使用。
若要停止網域,請鍵入 asadmin stop-domain 指令並指定網域名稱。例如,若要停止預設網域 (domain1),請鍵入以下指令:
$ asadmin stop-domain domain1 |
如果只有一個網域,則網域名稱是選擇性的。如需完整語法,請鍵入 asadmin help stop-domain。
在樹形元件中,選取 [獨立實例] 節點下的伺服器 (管理伺服器)。
在 [一般資訊] 頁面中,按一下 [停止伺服器]。
在 [開始] 功能表中,依次選取 [程式集] -> [Sun Microsystems] -> [Application Server] -> [停止 Admin Server]。
若要進行鏡像並提供網域管理伺服器 (DAS) 的工作副本,您必須具有:
一台包含原始 DAS 的機器 (machine1)。
一台包含叢集的機器 (machine2),該叢集具有執行應用程式並滿足用戶端需要的伺服器實例。該叢集是使用第一台機器上的 DAS 配置的。
一台備份機器 (machine3),當第一台機器當機時,需要在該備份電腦上重新建立 DAS。
必須保留一份第一台機器上的 DAS 的備份。使用 asadmin backup-domain 來備份目前網域。
以下步驟用於將 Domain Administration Server 從第一台機器 (machine1) 遷移到第三台機器 (machine3):
將 Application Server 安裝在第三台機器上,方法與在第一台機器安裝時上相同。
為了可以在第三台機器上正確地復原 DAS 並且不會發生路徑衝突,您必須執行此操作。
將第一台機器上的備份 ZIP 檔案複製到第三台機器上的 domain-root-dir 目錄中。也可以透過 FTP 方式複製檔案。
執行 asadmin restore-domain 指令,以將 ZIP 檔案復原到第三台機器:
asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1 |
可以備份任何網域。但是,在重新建立網域時,網域名稱應與原始網域名稱相同。
變更第三台機器上的 domain-root-dir/domain1/generated/tmp 目錄的權限,以與第一台機器上相同目錄的權限相符。
該目錄的預設許可權為:?drwx------? (或 700)。
例如︰
chmod 700 domain-root-dir/domain1/generated/tmp
以上範例假定您備份的是 domain1。如果備份的是其他名稱的網域,則應使用要備份網域的名稱取代上述的 domain1。
變更第三台機器的 domain.xml 檔案中的主機特性值:
更新第三台機器上的 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/>...
將:
<jms-service... host=machine1.../>
變更為:
<jms-service... host=machine3.../>
在 machine3 上啟動復原的網域:
asadmin start-domain --user admin-user --password admin-password domain1 |
在 machine2 上變更節點代理程式下的 DAS 主機特性值。
在 machine2 上變更 install-dir/nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 特性值。
在 machine2 上重新啟動節點代理程式。
使用 asadmin start-instance 指令啟動叢集實例,以使這些實例與復原網域同步。