Community Edition 目錄結構
在安裝 Community Edition 之前,請確保滿足系統要求并遵循 Get started with WebSphere Application Server Community Edition 中的下載和安裝說明。在安裝之后,將創建以下子目錄:
啟動 WebSphere Application Server Community Edition 服務器
啟動選項
當啟動服務器時,可以使用不同的選項來控制命令窗口中輸出信息的數量:
-quiet
:此選項禁止顯示進度欄。服務器將只輸出 WARN 或更高級別的消息。-v
:服務器將只輸出 INFO 或更高級別的消息。-vv
:服務器將只輸出 DEBUG 或更高級別的消息。有選擇地啟動配置
如果您遇到問題,并且需要隔離引發問題的部分,或者 Community Edition 沒有啟動,您可以通過修改正常啟動的配置列表而不需要永久地更改它。要做到這一點,可以在服務器啟動時將一個或多個配置作為參數傳遞給它以進行啟動。例如,如果您有一個名為 hello
的應用程序模塊出現了問題,您可以嘗試只運行該模塊及它所依賴的模塊,以確保問題不是來自其他應用程序模塊(清單 1)。
|
只有在配置已經正確聲明其依賴的配置或者您已經確切地知道要啟動哪些配置時,這種做法才能達到預期的效果。否則,模塊可能意外地失敗,因為沒有啟動所有必需的部分。例如,如果您的部署出現問題,則可能決定只運行 org/apache/geronimo/RuntimeDeployer
配置。即使配置啟動成功,當您實際嘗試部署時,部署也會失敗,并告訴您必須運行服務器才能使用該命令。原因在于沒有其他配置(例如 JMX 基礎設施),并且沒有這些配置的顯式依賴項,所以 RuntimeDeployer 無法工作。因此,運行 RuntimeDeployer 所需要的全部配置并沒有完全啟動。建議您不要只運行服務器的一部分,因為這樣可能導致更多的問題,它們會隱藏您試圖查找的真正原因。
保持服務器不停止
如果讓一個用戶始終維持登錄狀態有困難,則在 Linux 上可以在后臺運行 Community Edition。在 Windows 中,唯一的選擇是鎖定機器以保持當前用戶的登錄狀態。
使用部署工具
Community Edition 部署工具可以幫助您使用各種命令來管理應用程序部署。要調用該部署工具,應該采用以下格式:
|
要獲得關于每個命令的更詳細信息,請輸入:
|
但是,幫助信息不一定準確。例如,許多部署命令只能在服務器啟動時運行,但是幫助文檔指出它們在服務器停止時可以運行。如果有疑問,請參閱 Community Edition 文檔。
常規選項
要獲得常規選項的完整列表,請輸入:
|
|
可用的部署命令及其用法
常見命令有:
deploy
:deploy
命令通常帶有一個模塊和一個指定如何部署該模塊的計劃。它驗證該模塊和計劃,將該模塊安裝到服務器上并啟動該模塊。如果該模塊非常簡單并且您愿意接受所有缺省值,則可能不需要擁有計劃。而且,除了將計劃作為獨立的參數提供外,還可以將其作為模塊本身的一部分。如果將計劃作為模塊的一部分進行打包,則其位置取決于模塊的類型:
模塊類型 | 計劃位置 |
---|---|
Web 模塊 | WEB-INF/geronimo-web.xml |
EJB 模塊 | META-INF/openejb-jar.xml |
資源適配器 | META-INF/geronimo-ra.xml |
客戶端應用程序 | META-INF/geronimo-application-client.xml |
J2EE 應用程序 | META-INF/geronimo-application.xml |
deploy
命令也有一個附加選項,可用于處理多部署目標的情況。因為現在對多目標的支持還非常有限,所以我們在這里不介紹這些附加選項。 redeploy
:redeploy
命令等同于先運行 undeploy
,然后再運行 deploy
。該模塊將在重新部署后啟動,即使它以前是停止的。在進行重新部署時,應用程序的一些部分可能對客戶端可用而對其他部分不可用,從而導致請求失敗。start
:start
命令用于啟動已經部署完畢的模塊。您可以列出多個模塊 ID 來將它們一起啟動。stop
:stop
命令用于停止已經部署完畢的模塊。您可以列出多個模塊 ID 來將它們一起停止。在停止之后,就不能訪問模塊,直到它再次啟動為止。undeploy
:undeploy
命令用于停止模塊并從服務器刪除其所有部署信息。它將無法再訪問,直到再次部署為止。與 deploy
與 redeploy
不同的是,您可以指定取消部署多個模塊。其他命令有:
distribute
:distribute
命令與 deploy 類似。區別在于它也使模塊可用,但沒有啟動它(這一點與 deploy 不同)。這意味著您在服務器沒有啟動時可以使用 distribute
。list-modules
:使用 list-modules
命令,您可以查看所有可用的模塊。對于 Web 模塊,您可以使用 list-modules
命令來查找其 Web 地址 (URL)。您可以指定 --started
或 --stopped
來只查看處于相應狀態的模塊。要使用此命令,服務器必須正在運行。list-targets
:list-targets
命令列出您可以部署模塊的位置。每個目標都是一個集群或一個服務器,并代表一個配置存儲。然而,對多個配置存儲的支持并沒有得到充分測試。目前還不支持將集群作為目標,所以此命令沒有用。要使用此命令,服務器必須正在運行。脫機部署工具
即使服務器沒有運行,部署工具也能夠正常工作,但是可以進行的操作有限。您只能分配應用程序,這意味著 Community Edition 將驗證它是否是合法的應用程序并安裝它。當服務器沒有運行時,無法使用其他命令(除了這里沒有討論的 package
命令外)。
了解 config-store 目錄
config-store 目錄(在 wasce_install_root\config-store 目錄中)保存資源和應用程序模塊,其中一些將隨 Community Edition 服務器一起啟動。wasce_install_root\config-store\index.properties 中列出了可用的配置模塊,它提供模塊配置名稱及其所在的數字 config-store 子目錄之間的映射關系。在 J2EE 應用程序部署成功之后,您將在 config-store/assigned number 目錄中看到其配置的序列化版本。
通過查看 index.properties 文件,您可以在 J2EE 應用程序已經部署時查找服務器指定的數字目錄名稱。例如,如果您部署了 Community Edition 提供的 Hello 示例程序,則將看到該 Hello 程序的指定數字 ID:
|
這意味著該 Hello 程序的配置的序列化版本在 config-store/44 目錄中。第一行指出最后一次寫入 index.properties 文件的日期和時間。還有一個 index.backup 文件,它包含服務器的 index.properties 文件的備份版本。config-store 目錄的內容是由部署工具自動維護的,所以建議系統管理員不要修改此目錄。
了解 config.list 文件
config.list 文件(在 wasce_install_root\var\config 目錄中)包含服務器上一次關閉時正在運行的資源和應用程序模塊。如果啟動服務器時沒有使用特殊的指令,則服務器將讀取 config.list 來確定它應該啟動哪些資源和應用程序模塊。如果您沒有做任何更改,則將在 config.list 文件中看到以下的缺省啟動序列(從上到下分行排列)。
配置 ID | 初始缺省計劃 | 用法 |
---|---|---|
org/apache/geronimo/System | system-plan.xml | 包含操作 Community Edition 需要的基本服務。應該始終啟動。 |
org/apache/geronimo/RMINaming | naming-server-plan.xml | 包含 RMI Naming 服務器配置。 |
org/apache/geronimo/Server | j2ee-server-plan.xml | 包含 Community Edition 要作為 J2EE 服務器所需要的服務。 |
org/apache/geronimo/Security | j2ee-security-plan.xml | 包含服務器的安全配置。如果您要查找安全方面的示例以用于自己的應用程序,請參見 j2ee-secure-plan.xml 文件。 |
org/apache/geronimo/SystemDatabase | system-database-plan.xml | 啟動嵌入式 IBM Cloudscape 數據庫服務器,它在缺省情況下偵聽端口 1527。 |
org/apache/geronimo/SystemJMS | system-jms-plan.xml | 啟動 JMS 連接工廠和缺省連接隊列。 |
org/apache/geronimo/RuntimeDeployer | j2ee-runtime-deployer-plan.xml | 包含服務器的部署配置。 |
org/apache/geronimo/TomcatRuntimeDeployer | j2ee-tomcat-runtime-deployer-plan.xml | 包含 Tomcat Web 模塊構建程序配置。 |
org/apache/geronimo/applications/Welcome/Tomcat | welcome-tomcat-plan.xml | 啟動 Community Edition 歡迎頁面。 |
org/apache/geronimo/Console/Tomcat | webconsole-tomcat-plan.xml | 啟動 Community Edition 管理控制臺(技術預覽)。 |
您可以使用下列部署命令來查看哪些模塊已經啟動:
|
|
您可能會覺得奇怪,因為沒有看到 config.list 文件中列出 org/apache/geronimo/Tomcat 和 org/apache/geronimo/ActiveMQServer,但它們實際上已經啟動了。 org/apache/geronimo/applications/Welcome/Tomcat 和 org/apache/geronimo/Console/Tomcat 的 parentId 是 org/apache/geronimo/Tomcat。因此,根據 Community Edition 的依賴注入部署體系結構,org/apache/geronimo/Tomcat 將在歡迎頁面和控制臺頁面啟動之前啟動。org/apache/geronimo/ActiveMQServer 服務器的情況與此相同,它將在 org/apache/geronimo/SystemJMS 啟動之前啟動。
使用 config.xml 來配置服務器屬性
如果您要更改不同服務器(如 Tomcat、RMI、Cloudscape 服務器)的端口和主機名,或者要配置自己的 CORBA 屬性,則可以更改 Community Edition 提供的初始配置。Config.xml(在 wasce_install_root\var\config 目錄中)用于存儲系統管理員自己的自定義配置。您可以自定義 config.xml 中的所有服務器配置,既可以修改該 config.xml 中隨 Community Edition 一起提供的缺省配置(RMINaming、RuntimeDeployer、Tomcat、Server、Security、ServerCorba 和 ActiveMQServer GBeans),也可以添加自己的配置。當服務器下一次啟動時,它會從 config.xml 文件讀取配置,并將其應用到配置存儲中。配置更改不會寫回到位于 wasce_install_root\doc\plan 目錄的初始配置文件中,這些文件要保持原樣。不管您要做什么,都別忘了首先備份服務器!有關更多信息,請參閱從系統故障中恢復。
下面的示例顯示如何將 Tomcat 服務器 Web 容器的運行端口號從缺省的 8080 更改為 80。
config.xml 中的 Tomcat WebConnector 配置
|
保存 config.xml 文件并重啟服務器。您必須重啟服務器才能使更改生效,因為服務器只在服務器初始化時才讀取 config.xml。您也可以根據需要更改其他屬性值。但是,更改配置名稱或 GBean 名稱的做法并不推薦。您可能注意到,在同一個目錄中還有一個名為 config.tomcat.xml 的文件。此文件包含以 Tomcat 為 Web 容器的服務器運行時所使用的示例配置設置,它在服務器啟動時沒有使用。如果您已經更改了配置,并且想返回到缺省的 Tomcat 設置,則可以復制此文件來覆蓋現有的 config.xml 文件。
日志記錄和系統恢復
當您遇到問題時,請首先檢查 wasce_install_root/var/logs 中的日志文件。有關日志及每個日志包含的內容的更多信息,請參閱 Get started with WebSphere Application Server Community Edition。
每個日志都有一個相應的 -log4j.properties 文件,它指出日志文件所在位置、向日志文件中寫入多少詳細信息,以及它是的什么格式等。其中您可能最關心的一行是 log4j.appender.FILE.threshold=
。通過將其設置為 ERROR
、WARN
、INFO
或 DEBUG
,您可以控制向日志中寫入什么。
從系統故障中恢復
Community Edition 并沒有一個系統來管理配置更改。如果出現失誤,或者配置被破壞,則很難恢復。最好的做法是定期備份 Community Edition 配置目錄。
既然您已經掌握了要進行系統管理需要了解的信息,那現在就可以成功地管理您的 Community Edition 服務器了。
(責任編輯:城塵)