簡介: 生產環境中 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
WebSphere應用服務器可否順利安裝成功首先取決於目標平臺是否知足安裝的軟件和硬件條件。WebSphere應用 服務器對硬件配置的要求主要體如今待部署平臺的硬件架構、CPU、內存和磁盤存儲空間上,一般最低內存要求在512M以上,根據硬件平臺、 WebSphere應用服務器版本、組件的不一樣,要求的配置也會略有區別,請參考WAS詳細系統需求 。磁盤空間的分配請參見「2.4 確認磁盤空間是否知足要求」。安全
做爲一個成熟的商用應用服務器,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應用服務器要求。
在安裝WebSphere應用服務器過程當中,建立概要文件這一步驟須要用戶填入機器的主機名(如圖1),而且,WAS運行 時也須要用到主機名(Host Name)。主機名是WAS安裝節點的物理機器的網絡名,它必須解析到服務器上的物理網絡節點。建立概要文件中WAS使用的主機名的值能夠是全限定 DNS 主機名(例如: hosta.cn.ibm.com)、短主機名(例如:hosta),或甚至是數字 IP 地址(例如:192.168.1.3),但必須是WAS所在服務器實際配置的主機名。並且,當WAS配置完畢投入使用以後,不推薦更改您設定的主機名,即 使能改,過程也比較複雜。所以,根據實際經驗,咱們推薦用戶在安裝WebSphere應用服務器以前配置主機名。若是採用全限定 DNS 主機名或短主機名,能夠經過hostname命令來查看當前系統的主機名。若是沒有配置,則到hosts文件中添加相應的條目。
考慮硬盤空間分配時,在UNIX或Linux平臺下能夠用df –k 先查看各目錄大小。若是是在生產環境上安裝WebSphere應用服務器,通常要從如下幾個方面來計算要預留的空間。
如要了解不一樣平臺具體的磁盤空間要求,請參考WAS V6.1信息中心「爲產品安裝準備操做系統」一節的內容。
前面提到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 |
WAS的安裝可使用人機交互的圖形界面安裝或批處理安裝(稱爲靜默安裝,silent installation,預先寫好響應文件,安裝過程當中不須要啓動圖形界面或者人機交互)。若是使用圖形界面安裝,在服務器是Linux/UNIX平臺 時,咱們一般沒有機會直接使用服務器的顯示屏/控制檯,而是經過本身的機器telenet到服務器上去。這種命令行直接telnet的模式下,可能不支持 啓動圖形界面,須要用到Xmanager、X-Win32等支持X Window的工具軟件。你能夠在命令行下敲入命令xclock進行測試。若是出現如圖2所示的圖形顯示,代表你可以在你的終端上啓動圖形界面。
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前提早下載這些補丁 以備安裝過程當中使用。具體內容在「打補丁」一節詳述。
根據實際應用場景的不一樣,咱們須要決定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集羣的配置是很是方便的,能夠在建立完概要文件以後靈活調整。
其餘一些常見注意事項還包括權限、端口控制等等。例如:
安裝WAS的過程很是簡單,一般分爲3步:安裝WAS產品,爲產品打補丁(若是有補丁),建立概要文件。若是您的環境很乾淨,沒有一些特殊的限制,安裝過程大多數時候是點擊默認的「Next」。固然,根據環境的不一樣,一般會要注意如下方面:
使用圖形界面方式安裝WAS的過程十分簡單,一般不須要作特定的修改。下面列舉安裝中常見的一些注意事項和提升安裝速度的小竅門:
若是您使用的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頁面中選擇想要打的補丁。
概要文件是一組用於定義運行時環境的文件,每一個概要文件都是一組徹底隔離的運行時環境。前面咱們提到了概要文件有三種基本類型。在建立概要文件的過程當中,一般咱們要了解如下細節:
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或信息中心。
在生產環境中安裝WAS完畢並建立了一個可用的概要文件以後,必須根據實際狀況進行必要參數的調整,以便提升WAS性能、 方便錯誤診斷。這些參數一般要結合運行環境的實際狀況、實際的併發量和服務器的資源利用狀況進行調整。完整的調優涉及操做系統、應用、應用服務器和數據庫 的綜合調整,具體要調整的參數、含義,請參見WAS資源中提到的資源監控和性能調優章節,例如,紅皮書sg246392的17.5章節中明確談到了性能調優一般涉及的參數以及調整原則。本文提出的只是針對應用服務器自己一些重要的參數調整的指導原則和經驗之談,以便讀者可以快速起步:
因爲生產環境訪問控制的須要,搭建WebSphere環境以後,一般可能會要求修改應用訪問端口,或者更改WAS管理員密碼,啓用/停用管理安全性等等。
應用服務器安裝完畢以後,爲了不生產環境中的端口衝突、端口訪問控制,有時咱們須要查看或更改應用服務器的端口。
默認狀況下,WAS的管理控制檯和應用訪問是兩個不一樣的端口。訪問WAS的管理控制檯或者WAS上部署的應用,所使用的端口由應用服務器端口以 及虛擬主機決定。假設咱們要把應用訪問的端口從9080變成9082(實際工做中,若是沒有Web服務器,有的環境會但願把應用訪問端口變成80,方法類 似),則按以下步驟進行:登錄WAS管理控制檯,選擇 左邊菜單 服務器 - 應用服務器,點擊 server1,選擇「端口」,點擊「WC_defaulthost」(如圖8),修改端口爲本身想要的任意端口(注意避免端口衝突),例如,9082。 而後點擊「肯定」。而後「保存」。
而後,選擇 左邊菜單 環境 - 虛擬主機,點擊」default_host」,選擇「主機別名」(如圖9),把原有端口9080改爲與前面應用服務器/端口 /WC_defaulthost一致的端口,例如,9082。或者點擊「新建」,把在WC_defaulthost修改以後的端口號填入,點擊「肯定」、 「保存」。
固然,若是你在前面應用服務器/端口/WC_defaulthost中設置的端口已經出如今虛擬主機 /default_host/主機別名的列表中,則不須要作改動或者新增主機別名端口的工做。目的就是要讓 應用服務器/端口/WC_defaulthost的端口出如今 虛擬主機/default_host的主機別名列表中。更改在重啓WAS服務器以後生效。
登錄WAS管理控制檯,選擇 左邊菜單 服務器 - 應用服務器,點擊 server1選擇「端口」。而後更改WC_adminhost爲本身但願的管理控制檯端口。而後點擊「肯定」、「保存」。選擇 左邊菜單 環境 - 虛擬主機,點擊;而後選擇admin_host,選擇「主機別名」。把原有端口9060改爲與前面應用服務器/端口/WC_adminhost一致的端 口,例如,9063。或者點擊「新建」,建立一個主機別名 *, 9063。而後「肯定」,「保存」。目的就是要讓 應用服務器/端口/WC_adminhost的端口出如今 虛擬主機/admin_host的主機別名列表中。
針對生產環境要求的多變性,實際WAS環境搭建中可能涉及管理安全性的多種操做。
啓用管理安全性將激活用於防止未經受權的用戶使用服務器的設置,簡單來講,進入管理控制檯、更改應用服務器配置、中止應用服務器進程這些管理任 務,都須要輸入預先定義的用戶名和密碼才能完成。缺省狀況下,建立概要文件時會啓用管理安全性(圖9)。若是在建立概要文件時沒有選擇「啓用管理安全 性」,在隨後使用過程當中又但願啓用,則可按以下步驟進行:
首先進入控制檯,例如:http://was_ip:9060/admin,注意這裏登錄的用戶必定要是 設置安全性的用戶。例如,admin。選擇「安全性」>「安全管理、應用程序和基礎結構」,而後點擊「安全配置嚮導」(圖10)。爲了配置的簡便 性,在「指定保護範圍」中,能夠不選擇「使用 Java 2 安全性來限制應用程序訪問本地資源」;在「選擇用戶存儲庫」中接受默認選項,用戶存儲庫爲「聯合存儲庫」,點擊「下一步」;在配置用戶存儲庫中填入用戶 名、密碼。若是您是第一次啓用管理安全性,則輸入一個新的用戶名(您登錄管理控制檯的用戶名)和密碼。這個用戶名密碼是任意的,並不要求是操做系統用戶, 由於聯合存儲庫默認的用戶條目來自於文件;若是之前曾經使用該存儲庫啓用過管理安全性,則使用存儲庫中持有管理員特權的用戶名和密碼。點擊「下一步」、 「完成」。保存以後重啓應用服務器,這時登錄管理控制檯等就須要提供您預約義的用戶名/密碼了。
停用管理控制檯很簡單,在圖10所示頁面,不選擇「啓用管理安全性」,點擊「應用」,保存並重啓應用服務器便可。有一種特殊狀況下,特如忘掉了 管理員密碼,此時咱們沒法登錄管理控制檯,從而沒法在管理控制檯中停用管理安全性。這時,可從$WAS_HOME/profiles/xxx概要文件名 /bin目錄下,發出以下命令: wsadmin -conntype NONE 。當wsadmin的命令行窗口出現以後,發出下列命令: securityoff 。上述操做在應用服務器啓動或中止的狀態都能發出。再次啓用WAS時,就是停用管理安全性的狀態了。
當咱們須要更改管理員密碼時,能夠選擇「用戶和組」>「管理用戶」,如圖11,在搜索內容爲「*」時點擊「搜索」,會列出該存儲庫中的全部用戶。選中管理用戶標識,可更改該用戶的密碼。更改即時生效。
若是忘記管理員密碼,咱們沒法進入管理控制檯更改密碼。此時,須要先用「停用管理安全性」一節中wsadmin命令的方法,停用管理安全性,而後「更改管理員密碼」,再次「啓用管理安全性」便可。
使用啓用管理安全性的WAS環境時,默認狀況下只有一個管理員ID,這意味着同一時刻 只有一我的能登錄管理控制檯。這對於多人開發小組在同一WAS環境發佈測試時並不方便。您可先在存儲庫中建立一個用戶,而後爲該用戶ID分配相應的管理角 色。具體步驟以下:1)選擇「用戶和組」>「管理用戶」,如圖24,點擊「添加」,添加一個用戶ID,例如,admin1。保存。 2) 選擇「用戶和組」>「管理用戶角色」,如圖25,填入用戶名(必須是在存儲庫中已經存在的用戶名),選擇相應的管理角色,例如,「管理員」。點擊 「肯定」,保存。這樣,下次重啓WAS時,兩個用戶都能同時登錄管理控制檯。
生產環境、概要文件配置過於複雜或常常更改時,咱們須要按期備份概要文件,以便必要時快速恢復。您可以使用 backupConfig 命令備份配置文件。例如,要備份概要文件AppSrv01的當前配置,能夠從$WAS_HOME/profiles/AppSrv01/bin目錄下,發 出命令 backupConfig,它會將AppSrv01當前概要文件默認生成一個壓縮包,您也能夠指定該壓縮包的名稱,例如:backupConfig WebSphereConfig_2007_05_30.zip。恢復配置時,使用restoreConfig WebSphereConfig_2007_05_30.zip。
須要提醒的是,WAS的卸載過程不是直接刪除目錄,若是這樣作,下次你可能沒法在同一臺機器上成功安裝WAS。在卸載 WAS以前,先中止機器上的WAS進程,用ps –ef |grep java確保沒有was進程在運行。而後,執行WAS_HOME/uninstall/uninstall.sh命令卸載WAS。若是由於某些特殊緣由卸 載嚮導引導的卸載過程沒有成功(例如,您直接刪除了WAS安裝目錄),或者您但願在同一目錄再次安裝WAS,請參照信息中心「手工卸載」給出的建議。
應用部署一般會涉及以下幾個任務:配置應用所須要的環境:如系統變量、虛擬主機、類路徑、安全性等等;配置應用所須要的資源如JMS資源、數據源等。其中,須要注意的是:
當在WAS環境中遇到問題時,最方便的是利用網上資源查閱相關資料。這方面的文章已經太多,爲了達到本文的目標:「爲初級用戶提供一個儘可能完整的快速入門指南」,我不得不在這裏老調重談,請參照從何學習 WebSphere? 瞭解WebSphere應用服務器的經常使用網上資源。
瞭解WAS的過程是漸進式的,但願這篇文章可以在WAS安裝示例文檔和用戶的WebSphere生產環境搭建實踐之間提供 一個過渡,節省您的時間。從工程師的角度看,遇到問題不是壞事,遇到問題越多,經驗越多,查閱資料,並經過多種渠道得到IBM的技術支持,相信您對WAS 的使用體驗會更加美妙。
本文章來源IBM官方網站.還有些參考資料,給本身留存資料備學習!