WebSphere 應用服務器環境搭建實踐指南

簡介: 生產環境中 WebSphere 應用服務器的搭建與演示環境有不少不一樣,因爲生產環境的多樣性、應用場景的性能調優、錯誤診斷等嚴格要求,生產環境中 WebSphere 應用服務器的安裝涉及到安裝前系統各項檢查、安裝中各類參數調整,以及安裝後常見的管理任務。WebSphere 應用服務器有着大量的資源能夠參考,但對於不少僅僅搭建過演示或簡單測試環境的用戶來講,面對浩如煙海的文檔很難下手。本文試圖總結在搭建一個完整的 WebSphere 環境中遇到的常見問題和注意事項,爲初次搭建 WebSphere 應用服務器準生產環境的人提供一個快速入門指南。html

1. 引言java

與大多數商用應用服務器同樣,若是您計劃把WebSphere應用服務器(如下簡稱WAS)用於正式的生產環境或用於性能 測試、生產前檢驗的測試環境,除了簡單地安裝步驟外,您還須要作一些額外的檢查、規劃和配置,來確保您的WebSphere應用服務器環境安全穩定運行。 WebSphere應用服務器各個版本之間安裝步驟差異不大,WAS V6.x版本比之前版本的安裝配置步驟中多了建立概要文件的過程,本文舉例的版本爲V6.1。在閱讀本文以前,推薦讀者先了解安裝WebSphere應用 服務器的大體過程或相關概念。對於WebSphere應用服務器各版本的具體安裝步驟,請參照WebSphere應用服務器產品隨機安裝文檔以及 WebSphere信息中心,DeveloperWorks上也有不少關於WAS環境搭建的參考文章,如:WAS5的安裝及其常見問題、在WAS6.0 ND中實現集羣等.node

2. 安裝前準備c++

在搭建準生產環境的過程當中,好的準備是成功的一半,推薦逐條進行如下安裝前準備工做。web

2.1. 應用服務器硬件配置數據庫

WebSphere應用服務器可否順利安裝成功首先取決於目標平臺是否知足安裝的軟件和硬件條件。WebSphere應用 服務器對硬件配置的要求主要體如今待部署平臺的硬件架構、CPU、內存和磁盤存儲空間上,一般最低內存要求在512M以上,根據硬件平臺、 WebSphere應用服務器版本、組件的不一樣,要求的配置也會略有區別,請參考WAS詳細系統需求 。磁盤空間的分配請參見「2.4 確認磁盤空間是否知足要求」。安全

2.2. 確認操做系統版本是否知足要求服務器

做爲一個成熟的商用應用服務器,WebSphere應用服務器會按期發佈不一樣WAS版本(例如WAS V5.0, WAS V5.1, WAS6.0…)、組件(例如:Application Server, Edge Component)支持的操做系統版本信息。使用WebSphere服務器支持的操做系統平臺,能確保應用服務器安裝、使用過程當中環境的正常穩定運行。 尤爲要注意的是,若是操做系統平臺不是IBM WebSphere應用服務器官方支持的平臺,在WebSphere應用環境出現問題後則沒法得到WebSphere應用服務器的售後支持,更談不上解決 問題了。網絡

例如,在筆者寫這篇文章時,在x86芯片上,對於RedHat AS 4操做系統,若是要安裝WebSphere應用服務器V6.1的Application Server組件,則要求的操做系統版本是Red Hat Enterprise Linux AS, Version 4 with Update 2。若是您的操做系統版本是Red Hat Enterprise Linux AS, Version 4,則還須要安裝Update2,不然有可能遇到問題。架構

因爲支持的操做系統版本是按期更新的,請在搭建WebSphere應用服務器環境前,參照系統詳細需求去查看當前操做系統版本(版本要與網上列出的徹底一致)是否知足WebSphere應用服務器要求。

2.3. 確認網絡配置/主機名知足要求

在安裝WebSphere應用服務器過程當中,建立概要文件這一步驟須要用戶填入機器的主機名(如圖1),而且,WAS運行 時也須要用到主機名(Host Name)。主機名是WAS安裝節點的物理機器的網絡名,它必須解析到服務器上的物理網絡節點。建立概要文件中WAS使用的主機名的值能夠是全限定 DNS 主機名(例如: hosta.cn.ibm.com)、短主機名(例如:hosta),或甚至是數字 IP 地址(例如:192.168.1.3),但必須是WAS所在服務器實際配置的主機名。並且,當WAS配置完畢投入使用以後,不推薦更改您設定的主機名,即 使能改,過程也比較複雜。所以,根據實際經驗,咱們推薦用戶在安裝WebSphere應用服務器以前配置主機名。若是採用全限定 DNS 主機名或短主機名,能夠經過hostname命令來查看當前系統的主機名。若是沒有配置,則到hosts文件中添加相應的條目。


圖 1. 建立概要文件時填入主機名
圖 1. 建立概要文件時填入主機名
  • 常見問題1:在安裝WAS以後,更改了主機名,WAS沒法正常啓動或中止,日誌報 錯:javax.naming.ConfigurationException: Cannot get canonical host name for server。或者報錯沒法找到主機名xxx。所以,在建立WAS的概要文件以前,須要根據實際狀況,選擇三種形式的主機名(全限定 DNS 主機名、短主機名或數字 IP 地址)中保持不變的那種主機名形式,做爲WAS使用的主機名,在概要文件建立嚮導(圖1)中填入。若是您使用 DHCP或者若是您常常更改 IP 地址,那麼咱們推薦在概要文件建立時使用全限定 DNS 主機名或短主機名;若是機器ip固定,而全限定 DNS 主機名或短主機名有可能更改,則在概要文件建立中使用數字ip。
  • 常見問題2:若是您須要建立集羣,請確保網絡配置中,除了保證本機主機名配置正確外,還必須保證集羣所在機器之間互相能ping通主機名。不然集羣建立中add node一步可能不成功。

2.4. 確認磁盤空間是否知足要求

考慮硬盤空間分配時,在UNIX或Linux平臺下能夠用df –k 先查看各目錄大小。若是是在生產環境上安裝WebSphere應用服務器,通常要從如下幾個方面來計算要預留的空間。

  • WebSphere 應用服務器自身代碼的佔用空間。這個空間通常在1G左右,在不一樣的系統平臺上略有差別。應在WAS安裝目錄下預留此空間。WebSphere應用服務器在 Linux下的默認安裝路徑是 /opt/IBM/WebSphere/AppServer,在AIX下的默認安裝路徑是/usr/IBM/WebSphere/AppServer(後 面咱們把此路徑簡稱爲WAS_HOME)。用戶能夠在安裝WAS時修改此安裝路徑。
  • 概要文件所佔的空間。WebSphere應用服務器V6.1建立的概要文件基本類型有3種,每一個概要文件所佔用 的空間以下:應用程序服務器(Application Server):在WebSphere應用服務器安裝沒有選擇安裝樣本程序時,這一律要文件所佔磁盤空間約爲200M;Deployment Manager:30M;定製概要文件(Custom,即node agent):10M。
  • 若是要安裝WEB服務器,則在WEB服務器所在服務器上要預留WEB服務器所佔的磁盤空間。IBM HTTP服務器通常佔用110M左右的空間。
  • 若是安裝WEB服務器,則在WEB服務器所在機器上一般也要安裝Web Server Plug-in組件,該組件所佔磁盤空間約爲200M。
  • WebSphere 應用服務器系統日誌的佔用空間。日誌空間的估算要結合系統對日誌的配置狀況。WebSphere應用服務器的主要日誌有 SystemOut.log,SystemErr.log。咱們可設置日誌文件的大小和保存的歷史日誌文件數量,從而能夠估算出其須要的空間。請參考「必 要參數的調整」部分了解如何調整WebSphere應用服務器日誌參數。
  • 若是有WEB服務器,需考慮WEB服務器的日誌空間。若是客戶開啓了WEB服務器的訪問日誌access.log(默認開啓),此日誌增加的速度極快,要預留足夠的空間。
  •  備份文件須要的空間。WebSphere應用服務器提供了一個備份命令(backupConfig.bat/sh),用來備份應用服務器的配置及其上應 用。咱們建議在系統穩定以後及時備份。對於一個典型生產系統,WebSphere應用服務器這個配置文件常常超過100M。可在發出 backupConfig命令時,使用-logfile參數指定該備份文件的存放位置。
  • 系統出錯時日誌,例如,JVM在發生OutOfMemory時,在大多數平臺上WebSphere應用服務器會 默認寫javacore文件和heapdump文件,記錄錯誤出現時的JVM Heap、線程狀況,以備錯誤診斷使用。雖然能夠調整應用服務器參數使之不產生此類文件,但爲了分析問題,一般須要今後類文件入手。這類文件一般都特別 大,例如heapdump文件,可能達到幾百M。若是屢次出現OutOfMemroy,對磁盤空間的佔用很快。所以,必須考慮爲此類文件預留磁盤空間。
  • WAS安裝程序還須要在系統的臨時目錄/tmp中有100M以上的空閒空間。
  • 用戶發佈到WebSphere應用服務器上全部應用程序以及應用自身的應用日誌的佔用空間。這個大小與實際應用相關,並且不一樣應用能夠差異很大。

如要了解不一樣平臺具體的磁盤空間要求,請參考WAS V6.1信息中心「爲產品安裝準備操做系統」一節的內容。

2.5. 針對特定操做系統的調整

前面提到WebSphere應用服務器對支持的操做系統版本有明確要求,除此以外,WAS信息中心還對特定的操做系統版本 安裝的包、內核參數等有特殊要求。例如,對於RHEL AS4,信息中心中說明必須安裝compat-libstdc++-33-3.2.3-47.3.ppc.rpm包(這是保持 C++ 運行時兼容性所必需的,供諸如 GSKit 的組件、Java 2 軟件開發包(SDK)以及 Web 服務器插件使用)以及其餘一些包。對於Linux、Solaris、HP等系統,還須要調整一些相應的內核參數。請參照請WAS V6.1信息中心「爲產品安裝準備操做系統」一節的內容。對於Solaris系統,須要調整的參數列表列舉以下:

set shmsys:shminfo_shmmax = 4294967295
set shmsys:shminfo_shmseg = 1024
set shmsys:shminfo_shmmni = 1024
set semsys:seminfo_semaem = 16384
set semsys:seminfo_semmni = 1024
set semsys:seminfo_semmap = 1026
set semsys:seminfo_semmns = 16384
set semsys:seminfo_semmsl = 100
set semsys:seminfo_semopm = 100
set semsys:seminfo_semmnu = 2048
set semsys:seminfo_semume = 256
set msgsys:msginfo_msgmap = 1026
set msgsys:msginfo_msgmax = 65535
set rlim_fd_cur=1024
	

2.6. 對於Linux/Unix系統,確認能啓動圖形界面

WAS的安裝可使用人機交互的圖形界面安裝或批處理安裝(稱爲靜默安裝,silent installation,預先寫好響應文件,安裝過程當中不須要啓動圖形界面或者人機交互)。若是使用圖形界面安裝,在服務器是Linux/UNIX平臺 時,咱們一般沒有機會直接使用服務器的顯示屏/控制檯,而是經過本身的機器telenet到服務器上去。這種命令行直接telnet的模式下,可能不支持 啓動圖形界面,須要用到Xmanager、X-Win32等支持X Window的工具軟件。你能夠在命令行下敲入命令xclock進行測試。若是出現如圖2所示的圖形顯示,代表你可以在你的終端上啓動圖形界面。


圖 2. 驗證可以啓動圖形界面
圖 2. 驗證可以啓動圖形界面

2.7. 準備合適的安裝介質

WAS是跨平臺的產品,不一樣的UNIX、Linux、Windows平臺、32位或者64位操做系統上,安裝介質都是不一 樣的,並且產品中包含了Application Server、Web Server、Edge Component等多種組件,當搭建WebSphere環境時,您須要從訂購的WAS產品包(包括各個平臺、組件的多張CD)中選擇須要的安裝介質。因 此,安裝前咱們須要根據安裝的WAS組件、操做系統版本、操做系統位數,選擇所須要的介質。例如,若是咱們要在x86架構、64位(注意,這裏的64位是 指操做系統是64位的)的Linux AS 4上安裝WAS,就應該選擇WebSphere Application Server for x86 64-bit Linux的安裝介質;若是咱們要安裝IBM Http Server或者update installer,這兩個組件都是在WebSphere Application Server Supplements CD中,同理,根據操做系統版本、位數、服務器的芯片,咱們就能夠選出所須要的介質了。若是WAS安裝中須要打補丁,建議在安裝WAS前提早下載這些補丁 以備安裝過程當中使用。具體內容在「打補丁」一節詳述。

2.8. 設計WebSphere環境的拓撲架構

根據實際應用場景的不一樣,咱們須要決定WAS、Web 服務器分別裝在哪些服務器上,若是須要配置集羣環境,還須要考慮Deployment Manager、各個結點和集羣成員都分部在哪些服務器上。例如,若是咱們要配置一個集羣環境,安裝前,咱們一般會先設計出如圖3的一張拓撲結構圖,以決 定安裝中每臺服務器上實際安裝、配置的組件。例如,如圖3所示,圖中實線是運行時的請求流,虛線是WAS各組件間的控制流。咱們能夠看出,在hosta機 器上,應該安裝WAS組件,並建立Deployment Manager、NodeA概要文件,配置集羣成員C1和C2;在hostb機器上,應該安裝WAS組件,建立NodeB概要文件,配置集羣成員C3和 C4。在machine3機器上,應該安裝IBM Http Server和Plug-in組件。其中,WAS集羣的配置是很是方便的,能夠在建立完概要文件以後靈活調整。


圖 3. 設計WAS拓撲架構
圖 3. 設計WAS拓撲架構

2.9. 其餘常見注意事項

其餘一些常見注意事項還包括權限、端口控制等等。例如:

  • WebSphere應用服務器在Unix/Linux系統上支持root用戶和非root用戶。但爲了操做設置的簡便性,一般都會在root用戶下進行。
  • 有的生產系統對端口訪問有限制,或者系統中能夠已經佔用了 WAS 即將使用的默認端口,所以,須要更改WAS使用的端口(此任務將在「更改WAS使用的端口」中詳述)等等。
  • 若是須要建立集羣,請確保參與Cell環境的各臺機器之間時間一致、時區一致,建議偏差控制在秒級。不然在add node過程當中可能不成功。

3. 安裝WebSphere應用服務器

安裝WAS的過程很是簡單,一般分爲3步:安裝WAS產品,爲產品打補丁(若是有補丁),建立概要文件。若是您的環境很乾淨,沒有一些特殊的限制,安裝過程大多數時候是點擊默認的「Next」。固然,根據環境的不一樣,一般會要注意如下方面:

3.1. 安裝WAS產品中的注意事項

使用圖形界面方式安裝WAS的過程十分簡單,一般不須要作特定的修改。下面列舉安裝中常見的一些注意事項和提升安裝速度的小竅門:

  • 一般,若是您的系統曾經安裝過WAS產品,安裝WAS產品以前,建議停掉正在運行的WAS進程。若是安裝IBM Http Server,一般最好停掉正在運行的Apache Http Server或者其餘IBM Http Server進程。在Unix/Linux系統上,能夠用 ps –ef |grep java 命令,去查看當前系統是否有was進程,用 ps –ef |grep httpd 命令,去查看當前系統是否有http server進程在運行。
  • 安裝WAS能夠執行launchpad.bat/luanchpad.exe,啓動「啓動板」,從啓動板中點擊 「啓動WebSphere Application Server的安裝嚮導」。若是沒法成功啓動「啓動板」,直接到安裝介質目錄下的WAS目錄中,執行install.exe/install.sh便可。
  • 亂碼:啓動板或WAS安裝嚮導顯示的語言與本地操做系統語言設置有關。若是本地操做系統語言設置爲中文,則 WAS安裝嚮導就會顯示中文。若是發現嚮導中語言顯示爲亂碼,能夠先把本地操做系統語言設置爲英文,使用英文語言安裝WAS。這樣安裝完畢的WAS仍然具 有中文支持,沒必要擔憂。在Unix/Linux平臺上,更改語言爲英文使用下列命令: export LANG=en_US
  • 安裝 WAS 過程當中能夠選擇是否安裝樣本應用程序(samples),爲了在開發環境和生產環境中都能得到更高性能,請不要安裝樣本。經過省略樣本,能夠將應用程序服 務器啓動時間縮短 60% 並節省 15% 的磁盤空間;能夠節省至關程度的進程佔用量;而且能夠節省WAS產品安裝以及每次建立應用服務器概要文件的時間。
  • 一個可運行的 WAS 環境至少要包含一個概要文件。所以,WAS產品安裝過程當中會讓用戶選擇要建立的初始概要文件。若是在安裝完WAS產品以後還要打補丁,建議此時先不要選擇 建立任何初始概要文件(圖4),以節省打補丁所需的時間。若是在安裝期間未建立概要文件,安裝WAS產品結束後會顯示用於啓動「概要文件建立」嚮導的選 項。基於一樣緣由,若是須要打補丁,咱們將把建立概要文件這個工做放到打補丁以後進行,所以此處沒必要選擇啓動「概要文件建立」嚮導。

圖 4. 安裝時不選擇建立初始概要文件
圖 4. 安裝時不選擇建立初始概要文件

3.2. 打補丁

若是您使用的WAS版本已經推出市場一段時間,根據用戶的測試和使用狀況, WAS會按期公佈補丁包(Fix Pack)或補丁(Fix)。建議先在測試環境中安裝補丁,確認安裝的補丁不會對您的運行環境帶來負面影響,再將補丁安裝到生產環境中。一旦您通過了適當 的測試後,主動地安裝預防補丁,將避免一些可能致使您系統出故障的問題。WAS V6.x的補丁升級策略 瞭解補丁升級策略的詳情。並能夠在IBM支持網站WAS補丁下載下載WAS補丁。

通常來講,WAS補丁的命名規範爲:版本名-產品名-產品組件名-平臺名-補丁編號名.pak。例如,6.1.0-WS- WAS-SolarisSparc64-FP0000007.pak ,這是WAS V6.1的WAS組件針對Solaris Sparc64操做系統的FP0000007補丁。若是您安裝了WAS,就須要產品組件名爲WASSDK和WAS的補丁;若是您安裝了IBM Http Server,就須要產品組件名爲IHS的補丁;若是您安裝了Plugin就須要產品組件名爲PLG的補丁。一般,一樣補丁編號的補丁,先裝WASSDK 補丁,再裝WAS補丁。之後,每一次打補丁的過程,都是:

1) 把補丁文件拷貝到補丁工廠安裝目錄的maintenance目錄下;

2) 在補丁工廠的安裝目錄下,執行./update.sh命令啓動補丁工廠;

3) 在「安裝目錄」中選擇將要打補丁的組件的安裝目錄。一般,對WAS組件,補丁會自動識別出安裝位置;對於IBM Http Server(簡稱IHS)或者Plug-in這樣的組件,須要選擇正確的安裝位置;

4)在maintenance package selection頁面中選擇想要打的補丁。

3.3. 建立概要文件

概要文件是一組用於定義運行時環境的文件,每一個概要文件都是一組徹底隔離的運行時環境。前面咱們提到了概要文件有三種基本類型。在建立概要文件的過程當中,一般咱們要了解如下細節:

  • 概要文件建立有兩種方式,圖形化建立嚮導和命令行方式。爲了操做的簡便和直觀,咱們一般採用圖形化建立嚮導(執 行WAS_Home/ bin/ProfileManagement/pmt.sh啓動該向導)。若是安裝的是64位的WAS,則沒有該圖形化建立嚮導工具。這時,請直接使用. /manageprofiles.sh命令。例如:在UNIX平臺上建立一個Application Server類型的名爲AppSrv01的profile,使用manageprofiles命令能夠以下操做:
    			export WAS_HOME=/opt/IBM/WebSphere/AppServer
    			echo $WAS_HOME
    			cd $WAS_HOME/bin
    			./manageprofiles.sh -create -profileName AppSrv01 
    			-profilePath $WAS_HOME/profiles/AppSrv01 
    			-templatePath $WAS_HOME/profileTemplates/default 
    			-hostName kcgg1d7.itso.ibm.com -enableAdminSecurity true 
    			-adminUserName adminUser_ID -adminPassword adminPassword
    			

    注意,命令和參數大小寫敏感的。Manageprofiles命令的語法和更多參數選項請參見紅皮書sg247304.pdf或信息中心。

  • 在「確認網絡配置/主機名知足要求」一節中,提到了選擇適當的主機名;在建立概要文件(圖1)過程當中,大多數情 況下向導自動識別出的主機名就符合要求,不然咱們須要向概要文件嚮導中填入適當的主機名。在同一臺機器上用概要文件建立嚮導建立多個profile時,自 動識別的主機名多是加上域名的全限定名稱例如hosta.cn.ibm.com,也多是短名hosta。這兩種形式都支持,可是不要在一個cell (Cell指WAS多個實例組成的一個受管域)中混用這兩種名稱方式。
  • 建立應用程序服務器概要文件過程當中,能夠根據須要選擇建立適用於開發環境或生產環境使用的應用服務器實例。例 如,對於開發環境,咱們能夠選擇使用開發模板來建立服務器,開發模板針對開發目的進行了優化的配置,減小了WAS啓動時間並容許服務器在功能較少的硬件上 運行。但在生產環境中,不要選擇「使用開發模板」。
  •  概要文件建立過程當中咱們能夠選擇「啓用管理安全性」,讓用戶在進行登錄管理控制檯、中止WAS實例等管理任務時須要輸入用戶名/密碼。注意,若是在建立概 要文件過程當中沒有啓用管理安全性,或者啓用管理安全性以後但願修改用戶名或密碼,均可以在概要文件建立完畢以後再次進行修改(請參見「管理安全性」)。
  • 建立概要文件過程當中可查看/更改該概要文件所佔的port。圖5顯示了建立的這個概要文件實例啓動時將佔用的端 口,咱們可看到管理控制檯端口是9060,Http傳輸端口(也就是應用訪問端口)是9080。若是用命令行方式建立概要文件嚮導,沒法經過圖形化顯示看 到這些端口,若是但願查看端口,能夠在概要文件建立完畢後查看配置獲得端口值(請參見「查看/更改應用服務器端口」);若是但願修改這些端口,則能夠在概 要文件建立中用參數-portsFile或-startingPort指定端口。固然,全部這些端口值均可以在概要文件建立完畢以後再次修改。

    圖 5. 建立概要文件中顯示端口
    圖 5. 建立概要文件中顯示端口
     

4. 必要參數的調整

在生產環境中安裝WAS完畢並建立了一個可用的概要文件以後,必須根據實際狀況進行必要參數的調整,以便提升WAS性能、 方便錯誤診斷。這些參數一般要結合運行環境的實際狀況、實際的併發量和服務器的資源利用狀況進行調整。完整的調優涉及操做系統、應用、應用服務器和數據庫 的綜合調整,具體要調整的參數、含義,請參見WAS資源中提到的資源監控和性能調優章節,例如,紅皮書sg246392的17.5章節中明確談到了性能調優一般涉及的參數以及調整原則。本文提出的只是針對應用服務器自己一些重要的參數調整的指導原則和經驗之談,以便讀者可以快速起步:

  • Java虛擬機堆大小(JVM Heap Size): 控制JVM代碼可以使用的堆大小,單位M。該參數在服務器->應用程序服務器>進程定義>Java虛擬機中進行設置。JVM最大堆大小默 認是256M,在生產環境中一般要根據機器物理內存狀況、應用運行特性來設置,且多數狀況下都要把此參數調大。根據經驗,內存充足時,一般的調整在 500M到1024M之間。須要注意的是,建議JVM Heap的最大值不要超過1024M,若是JVM Heap Size過大,可能會引發內存分頁,或者形成JVM垃圾回收時間過長,反而影響應用服務器性能。有關Java虛擬機調優的具體信息,請參考調整JVM參數
  • Web容器線程池:該參數在「服務器 > 應用程序服務器 > server1 > 線程池」的「WebContainer」中進行設置(如圖6),默認值是10到50。若是硬件資源容許,一般會把線程池的最大大小調到100。

    圖 6. 調整線程池
    圖 6. 調整線程池
     
  • 數據源鏈接池:該參數在資源->JDBC->數據源->數據源名稱,選擇「鏈接池設置」中設 置,默認大小爲1到10。根據資源設置的隊列(Queue)原則,從Web容器線程池,到數據源鏈接池的參數設置,應該是從大到小的管道。前面咱們列舉了 Web容器線程池的最大值設置100,對於數據源鏈接池,設置的最大值一般不超過50。多數狀況下調整爲30。實際運行中能夠修改此參數值,觀察調整對性 能是否有正面影響。注意,若是把數據庫鏈接池最大大小調得過大,JVM有限的資源都耗費在維護鏈接池、處理與數據庫鏈接上,可能反而形成WAS性能的下 降。
  • WAS 進程日誌參數:WAS進程日誌經常使用的有SystemOut.log和SystemErr.log。這兩份日誌默認大小爲1M,歷史日誌文件數爲1份。在生 產環境中,這樣的設置一般不足以充分保存發生問題時的錯誤信息。咱們能夠經過修改日誌默認大小、歷史日誌文件數來保存更多的信息。注意,不要把單份日誌文 件大小設置過大(例如,超過10M以上),不然可能影響WAS性能。另外,咱們建議把應用日誌與WAS日誌分離開。若是應用中大量以 System.out.print或者System.err.print來保存應用狀態日誌,也可能會影響服務器性能。

    圖 7. 修改WAS日誌屬性
    圖 7. 修改WAS日誌屬性
     
  • Heapdump文件:前面咱們提到,Heapdump文件對磁盤空間佔用很快,所以,能夠設置IBM_HEAPDUMP參數把Heapdump文件存放到指定目錄下。
  • Web服務器的訪問日誌access.log:IBM Http Server的訪問日誌access.log默認是打開的,其中記錄了通過Http服務器的請求信息。在高併發的系統中,這一日誌增加很是過,當日志過大 時,可能佔用過多磁盤空間或引發性能降低,若是您的系統不須要這份日誌,或者有其餘技術手段保存用戶訪問信息,能夠關閉該日誌。具體作法爲:打開IBM Http Server安裝目錄/conf目錄下的httpd.conf文件,搜索CustomLog,把CustomLog所在行用#註釋掉便可。

5. 常見的平常管理任務

因爲生產環境訪問控制的須要,搭建WebSphere環境以後,一般可能會要求修改應用訪問端口,或者更改WAS管理員密碼,啓用/停用管理安全性等等。

5.1. 查看/更改應用服務器端口

應用服務器安裝完畢以後,爲了不生產環境中的端口衝突、端口訪問控制,有時咱們須要查看或更改應用服務器的端口。

  • 查看端口
  • 更改應用訪問端口

    默認狀況下,WAS的管理控制檯和應用訪問是兩個不一樣的端口。訪問WAS的管理控制檯或者WAS上部署的應用,所使用的端口由應用服務器端口以 及虛擬主機決定。假設咱們要把應用訪問的端口從9080變成9082(實際工做中,若是沒有Web服務器,有的環境會但願把應用訪問端口變成80,方法類 似),則按以下步驟進行:登錄WAS管理控制檯,選擇 左邊菜單 服務器 - 應用服務器,點擊 server1,選擇「端口」,點擊「WC_defaulthost」(如圖8),修改端口爲本身想要的任意端口(注意避免端口衝突),例如,9082。 而後點擊「肯定」。而後「保存」。



    圖 8. 修改應用訪問端口
    圖 8. 修改應用訪問端口

    而後,選擇 左邊菜單 環境 - 虛擬主機,點擊」default_host」,選擇「主機別名」(如圖9),把原有端口9080改爲與前面應用服務器/端口 /WC_defaulthost一致的端口,例如,9082。或者點擊「新建」,把在WC_defaulthost修改以後的端口號填入,點擊「肯定」、 「保存」。



    圖 9. 修改虛擬主機
    圖 9. 修改虛擬主機

    固然,若是你在前面應用服務器/端口/WC_defaulthost中設置的端口已經出如今虛擬主機 /default_host/主機別名的列表中,則不須要作改動或者新增主機別名端口的工做。目的就是要讓 應用服務器/端口/WC_defaulthost的端口出如今 虛擬主機/default_host的主機別名列表中。更改在重啓WAS服務器以後生效。

  • 更改WAS管理控制檯端口

    登錄WAS管理控制檯,選擇 左邊菜單 服務器 - 應用服務器,點擊 server1選擇「端口」。而後更改WC_adminhost爲本身但願的管理控制檯端口。而後點擊「肯定」、「保存」。選擇 左邊菜單 環境 - 虛擬主機,點擊;而後選擇admin_host,選擇「主機別名」。把原有端口9060改爲與前面應用服務器/端口/WC_adminhost一致的端 口,例如,9063。或者點擊「新建」,建立一個主機別名 *, 9063。而後「肯定」,「保存」。目的就是要讓 應用服務器/端口/WC_adminhost的端口出如今 虛擬主機/admin_host的主機別名列表中。

5.2. 管理安全性

針對生產環境要求的多變性,實際WAS環境搭建中可能涉及管理安全性的多種操做。

  • 啓用管理安全性

    啓用管理安全性將激活用於防止未經受權的用戶使用服務器的設置,簡單來講,進入管理控制檯、更改應用服務器配置、中止應用服務器進程這些管理任 務,都須要輸入預先定義的用戶名和密碼才能完成。缺省狀況下,建立概要文件時會啓用管理安全性(圖9)。若是在建立概要文件時沒有選擇「啓用管理安全 性」,在隨後使用過程當中又但願啓用,則可按以下步驟進行:

    首先進入控制檯,例如:http://was_ip:9060/admin,注意這裏登錄的用戶必定要是 設置安全性的用戶。例如,admin。選擇「安全性」>「安全管理、應用程序和基礎結構」,而後點擊「安全配置嚮導」(圖10)。爲了配置的簡便 性,在「指定保護範圍」中,能夠不選擇「使用 Java 2 安全性來限制應用程序訪問本地資源」;在「選擇用戶存儲庫」中接受默認選項,用戶存儲庫爲「聯合存儲庫」,點擊「下一步」;在配置用戶存儲庫中填入用戶 名、密碼。若是您是第一次啓用管理安全性,則輸入一個新的用戶名(您登錄管理控制檯的用戶名)和密碼。這個用戶名密碼是任意的,並不要求是操做系統用戶, 由於聯合存儲庫默認的用戶條目來自於文件;若是之前曾經使用該存儲庫啓用過管理安全性,則使用存儲庫中持有管理員特權的用戶名和密碼。點擊「下一步」、 「完成」。保存以後重啓應用服務器,這時登錄管理控制檯等就須要提供您預約義的用戶名/密碼了。



    圖 10. 配置管理安全性
    圖 10. 配置管理安全性
     
  • 停用管理安全性

    停用管理控制檯很簡單,在圖10所示頁面,不選擇「啓用管理安全性」,點擊「應用」,保存並重啓應用服務器便可。有一種特殊狀況下,特如忘掉了 管理員密碼,此時咱們沒法登錄管理控制檯,從而沒法在管理控制檯中停用管理安全性。這時,可從$WAS_HOME/profiles/xxx概要文件名 /bin目錄下,發出以下命令: wsadmin -conntype NONE 。當wsadmin的命令行窗口出現以後,發出下列命令: securityoff 。上述操做在應用服務器啓動或中止的狀態都能發出。再次啓用WAS時,就是停用管理安全性的狀態了。

  • 更改管理員密碼

    當咱們須要更改管理員密碼時,能夠選擇「用戶和組」>「管理用戶」,如圖11,在搜索內容爲「*」時點擊「搜索」,會列出該存儲庫中的全部用戶。選中管理用戶標識,可更改該用戶的密碼。更改即時生效。



    圖 11. 管理用戶
    圖 11. 管理用戶
     
  • 忘記管理員密碼

    若是忘記管理員密碼,咱們沒法進入管理控制檯更改密碼。此時,須要先用「停用管理安全性」一節中wsadmin命令的方法,停用管理安全性,而後「更改管理員密碼」,再次「啓用管理安全性」便可。

  • 建立更多的管理用戶

    使用啓用管理安全性的WAS環境時,默認狀況下只有一個管理員ID,這意味着同一時刻 只有一我的能登錄管理控制檯。這對於多人開發小組在同一WAS環境發佈測試時並不方便。您可先在存儲庫中建立一個用戶,而後爲該用戶ID分配相應的管理角 色。具體步驟以下:1)選擇「用戶和組」>「管理用戶」,如圖24,點擊「添加」,添加一個用戶ID,例如,admin1。保存。 2) 選擇「用戶和組」>「管理用戶角色」,如圖25,填入用戶名(必須是在存儲庫中已經存在的用戶名),選擇相應的管理角色,例如,「管理員」。點擊 「肯定」,保存。這樣,下次重啓WAS時,兩個用戶都能同時登錄管理控制檯。



    圖 12. 管理用戶角色
    圖 12. 管理用戶角色
     

5.3. 備份/恢復概要文件

生產環境、概要文件配置過於複雜或常常更改時,咱們須要按期備份概要文件,以便必要時快速恢復。您可以使用 backupConfig 命令備份配置文件。例如,要備份概要文件AppSrv01的當前配置,能夠從$WAS_HOME/profiles/AppSrv01/bin目錄下,發 出命令 backupConfig,它會將AppSrv01當前概要文件默認生成一個壓縮包,您也能夠指定該壓縮包的名稱,例如:backupConfig WebSphereConfig_2007_05_30.zip。恢復配置時,使用restoreConfig WebSphereConfig_2007_05_30.zip。

5.4. 正確卸載WAS

須要提醒的是,WAS的卸載過程不是直接刪除目錄,若是這樣作,下次你可能沒法在同一臺機器上成功安裝WAS。在卸載 WAS以前,先中止機器上的WAS進程,用ps –ef |grep java確保沒有was進程在運行。而後,執行WAS_HOME/uninstall/uninstall.sh命令卸載WAS。若是由於某些特殊緣由卸 載嚮導引導的卸載過程沒有成功(例如,您直接刪除了WAS安裝目錄),或者您但願在同一目錄再次安裝WAS,請參照信息中心「手工卸載」給出的建議。


6. 應用的部署

應用部署一般會涉及以下幾個任務:配置應用所須要的環境:如系統變量、虛擬主機、類路徑、安全性等等;配置應用所須要的資源如JMS資源、數據源等。其中,須要注意的是:

  • 應用打包:部署在 WebSphere 應用服務器上的應用能夠是打包的*.ear/*.war文件,也能夠是未打包但符合J2EE規範要求的組件。在生產環境中,推薦使用打包的*.ear /*.war文件,便於版本控制和管理。對於複雜項目中多個J2EE組件的打包,請參見文章「關於J2EE應用開發項目包的管理」。
  • 管理 Utility Jar包:大多數J2EE應用都會有一些公用的Utility Jar包,首先要強調的是:必定要避免在同一個類載入路徑下存在同一個類的多個版本!這會在實際運行中帶來不少莫名其妙且難以診斷的問題。其次,對於 JDBC驅動這類通用等級較高的Utility Jar包,能夠放置在<WAS_HOME>/lib/ext目錄下;對於多個應用共享的Utility Jar,能夠放在 <WAS_HOME>/lib/ext中,也能夠放在shared library(共享庫)中,推薦放在shared library中;對於單個應用使用的Utility Jar,可與應用打包在一塊兒,或放入shared library中。共享庫的使用可以避免Utility Jar包多個版本的混亂,以及Utility Jar包的衝突。共享庫配置方法請參見紅皮書sg247304 12.5.4 Step 4: Sharing utility JARs using shared libraries章節。
  • Jar 包衝突:Jar包衝突問題在大型Java軟件開發中常常遇到,簡單的說,當不一樣應用使用的公用Utility Jar包、應用服務器底層的Jar包中存在同名、且版本不一樣的類時,咱們稱之爲Jar包衝突。這種問題的解決辦法能夠參考文章如何在WebSphere中解決Jar包衝突
  • 會話超時:針對應用場景的不一樣,不一樣應用指望的會話超時時間各不相同。WebSphere應用服務器的會話管理 分爲Application server、Application、Web Module三個級別。顧名思義,在每一個特定級別上更改的會話管理的配置,對當前級別起做用。部署在WebSphere應用服務器上的應用,默認的會話超 時時間爲30分鐘,默認的會話管理級別是Application Server。若是您指望更改您的應用,例如,DefaultApplication的會話超時時間,可按以下步驟進行:選擇應用程序>應用程序 名>會話管理(圖13),選擇「覆蓋會話管理」,並在「設置超時」中填上指望的會話超時時間。點擊「肯定」保存便可。

    圖 13. 會話管理
    圖 13. 會話管理
     
  • 當應用須要經過寫Java環境變量的方式配置一些變量時,可在應用服務器啓動腳本中用-D參數指定,也能夠在應 用程序服務器 > 應用程序服務器名(例如,server1) > 進程定義 > Java 虛擬機中設置「通用JVM參數」 -Daaa=xxx。

7. 結束語

當在WAS環境中遇到問題時,最方便的是利用網上資源查閱相關資料。這方面的文章已經太多,爲了達到本文的目標:「爲初級用戶提供一個儘可能完整的快速入門指南」,我不得不在這裏老調重談,請參照從何學習 WebSphere? 瞭解WebSphere應用服務器的經常使用網上資源。

瞭解WAS的過程是漸進式的,但願這篇文章可以在WAS安裝示例文檔和用戶的WebSphere生產環境搭建實踐之間提供 一個過渡,節省您的時間。從工程師的角度看,遇到問題不是壞事,遇到問題越多,經驗越多,查閱資料,並經過多種渠道得到IBM的技術支持,相信您對WAS 的使用體驗會更加美妙。

本文章來源IBM官方網站.還有些參考資料,給本身留存資料備學習!

相關文章
相關標籤/搜索