WebLogic Server 管理最佳實踐
上一篇 / 下一篇 2008-06-30 22:34:51 / 个人分类:Weblogic
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
- 运行平台: Win9X/Win2000/WinXP
建立 WebLogic 設定/域51Testing软件测试网M} j.\)U7Viz"V)|
51Testing软件测试网.IZ} IF-`_7_b#k域是一組邏輯上相關的WebLogic Server資源,您可以把它當作單個管理單元進行管理。域將所有的資源和應用程式資訊保存在一個基於XML的設定庫中。為了在WebLogic Server上部署並運行應用程式,首先要建立域。51Testing软件测试网j*tj(zg9T}
;JLdg?/j0推薦使用域設定嚮導作為建立新域的工具。如果您準備編寫腳本來建立域,推薦使用slient模式的域設定嚮導這個工具。也可以從所提供的“開箱即用”的域範本或定制的域範本來建立WebLogic Server域。
PF/`iR@h_!u)I0
}T%jbwIrm0為了建立定制的域範本,請使用設定範本生成器,它是一個單機的Java應用程式,能夠讓您建立定制的設定和擴展。您可以使用這些設定和擴展來建立和更新域。51Testing软件测试网lvwbhx8h
5{ b \c5q4i0域設定嚮導具有以下屬性:
yids sIbd2kl0- 嚮導會引導您完成針對目標環境建立或擴展域的過程。
- 嚮導可以使用OOB預定義的域範本或定制域範本建立或擴展域。
- 嚮導將建立config.xml 文件,建立基本的安全性,構造啟動腳本,等等。
- 可以使用graphical、console 或 silent模式啟動嚮導。
51Testing软件测试网P S$yt7J;]
要以graphical模式啟動嚮導,請運行以下命令之一:
Oos h)Y;f-E*u051Testing软件测试网 _ Nr3W*A+y
VI
域設定範本生成器具有以下屬性:51Testing软件测试网p5G2H2x,fO
- 嚮導會引導您完成建立或擴展設定範本 (JAR file) 的過程。
- 設定嚮導可以使用已建立的設定(域)範本來建立域。
!t1n m6`q'I0只能以graphical模式啟動設定範本生成器。51Testing软件测试网QoY}+f|l)p}
要啟動設定範本生成器,請運行以下命令之一:
F
X0I'D
Eu051Testing软件测试网r.O6YXfm3}1W
51Testing软件测试网8j`^P^)E(e
技巧
- 如果 WebLogic Domain/Configuration 分佈在多台物理機器上,那麼應該只能在管理伺服器硬體(機器)上運行域設定嚮導。
- 並不要求一定在託管伺服器硬體上運行域設定嚮導。
- 在WebLogic Server 安裝目錄之外建立WebLogic域 (預設情況下,所建立的域位於%BEA_HOME%Ser_projectsdomains ) 。
- 為管理伺服器建立啟動腳本時,如果腳本(startWebLogic.cmd/sh)沒有呼叫域目錄中的weblogic.Server 類,使用這個命令行選項來指定域的位置:-Dweblogic.RootDirectory=path。
- 啟動託管伺服器(startManagedWebLogic.cmd/sh)時,如果進行設置的話, -Dweblogic.RootDirectory 將被設置為伺服器根目錄,該目錄將被用於儲存檔,比如日誌檔和託管伺服器獨立(managed-server independence ,MSI)檔。
51Testing软件测试网.}!caO,_6^~
伺服器啟動51Testing软件测试网]4?#y)E'u
O@$}
uw3FJ8y}c0管理伺服器從設定庫(config.xml)載入所有設定。所有相關的託管伺服器必須在啟動期間連結到運行中的管理伺服器。獨立的託管伺服器可以從本地庫(msi-config.xml)載入設定。51Testing软件测试网-CuQd/s
51Testing软件测试网GcU T |^;I.EZ a
如果WebLogic運行在裝有Unix作業系統的電腦上,您可以為WebLogic Server進程分配一個UID或GID,以便在電腦執行所有優先的啟動操作之後,以root使用者的身份進行綑綁。如果WebLogic Server使用者想要綑綁到更高的埠(>1024),則無需root許可權。
3a)[O&Z$~P#k0技巧
!Ba$J"~;S0編寫使伺服器啟動自動化的腳本時,考慮以下因素:
- 在域中,必須在任何相關託管伺服器之前啟動管理伺服器。
- 當把託管伺服器作為相關伺服器啟動時,它連結到管理伺服器,以便下載設定。
- 當把託管伺服器作為獨立伺服器啟動時,檢查msi-config.xml 檔是否被儲存在伺服器根目錄中。
- 在Unix中,使用 'nohup' 運行 WebLogic Server啟動腳本,以保證即使您登出以後,伺服器依然在後臺運行。
- 在OS中,為安裝和啟動伺服器建立一個WebLogic Server使用者。
- 儲存加密後的使用者身份,使用boot.properties檔來避免啟動腳本中出現硬編碼的使用者身份。
- 當把伺服器綑綁到較低埠(<1024)時(這需要root許可權),使用 WebLogic UNIX機器設定來綑綁UID 或 GID 。
- 為了使WebLogic域中的管理伺服器在機器重啟期間能夠自動重啟,使用作業系統提供的daemon進程功能。
- Windows 服務
- UNIX daemon 進程
- 當您使用域設定嚮導建立域時,域中的管理伺服器可以被當成服務。
- 此外,可以使用位於域檔夾中的installservice.cmd和 uninstallservice.cmd 腳本在Windows Service Control Manager (SCM)中添加或刪除服務。
- 如果管理伺服器和託管伺服器是同一台機器,設定管理伺服器進程和託管伺服器進程之間的OS級服務相關性。
- 設定rc腳本,以便在正確的運行層級上添加WebLogic 啟動命令。
tbM;^:T
^l051Testing软件测试网9isR+s5p
啟動和關機類
n(i\'Zi xW0可以把WebLogic Server設定為在啟動和正常關機過程中呼叫類。在伺服器初始化所有子系統之後和它給用戶端擷取開放埠之前,載入並執行啟動類。類似地,在伺服器啟動正常關機進程之前載入關機類。和應用程式檔不同,必須手動地使啟動和關機類在已部署伺服器地本地classpath中可用。51Testing软件测试网fa#Iv+L:|U
x
技巧
&J4W,x(q1`w!~0- 在啟動期間,使伺服器級的啟動類在已部署WebLogic Server事例的系統classpath 中可用。
- 域中的管理伺服器到託管伺服器都不能自動部署出現在系統classpath中的類;應用程式層級的類可以分佈在域中的管理伺服器到目標伺服器上。
- 重新部署應用程式時,就會重新載入應用程式層級的啟動類。
- 不能動態地重新載入伺服器層級的啟動類;只能在它們各自的WebLogic Server重新啟動時重新載入它們。
- 使用應用程式層級的啟動類,而不要定義伺服器層級的啟動類。
6x|nBL3q2K)O0節點管理器51Testing软件测试网6w%Q!XH'J
使用WebLogic Server提供的節點管理器功能自動啟動託管伺服器,或者重新啟動出現故障的託管伺服器。節點管理器使管理員可以從管理伺服器或命令行(weblogic.Admin START…)遠端啟動託管伺服器。這可以通過與管理伺服器通信來實現,而不用依賴OS特定的遠端登入功能。51Testing软件测试网Vm/nAW1r*`
51Testing软件测试网*z@5vRv#h
此外,除了啟動和關閉託管伺服器之外,節點管理器還能夠監控它所啟動的伺服器的健康狀況。如果進行恰當的設定,在出現故障時,節點管理器能夠自動重新啟動託管伺服器。
~-YpAL7Q7P p0技巧51Testing软件测试网[c8jYlt
X D
- 使用節點管理器時,顯式地設定所託管伺服器的有遠端啟動屬性,而不要依靠節點管理器為託管伺服器的設定提供的環境。
- 節點管理器只接收來自管理伺服器的請求。管理伺服器不可用時,想要通過節點管理器遠端地重新啟動託管伺服器是不可能的。
- 把節點管理器設定為一個服務/ daemon。
- 啟用託管伺服器的自動重啟。
- 設定機器在出現故障時自動關閉,以便在節點管理器嘗試重新啟動一個出現故障的事例之前關閉它。
- 運行在一台機器上的節點管理器可以被運行在該機器上的多台託管伺服器所共用。
- 節點管理器還可以被運行在同一台機器上的多個域中的託管伺服器所共用。
-Eq8F dSzQ_0WebLogic Server 關閉過程
Pt.Le-Y
n4_8X|0異常的JVM終止可以導致套接字或程式段這樣的資源被鎖定。在作業系統中關閉或終止WebLogic Server進程被認為是異常終止。51Testing软件测试网7ieG/],x$|qlP:^'LP
可以通過以下方式正常關閉WebLogic Server:
- 使用管理控制臺'Graceful Shutdown" 超鏈結。
- 使用 weblogic.Admin SHUTDOWN… 命令。
- 使用JMX,具體是呼叫 ServerMBean 類的stop方法。
0];db'}/YEC
k0技巧
- 為了正常關閉生產伺服器,需要使用WebLogic 管理控制臺或者weblogic.Admin 實用程式。
- 正常關機不會異常終止使用者會話;它等待HTTP會話完成或超時。
- 也可以把WebLogic Server設定為不等待(忽略Session During Shutdown 選項)。
- 正常關機超時是可設定的;預設情況下,伺服器將會無限期地等待關機過程完成。
- 如果伺服器沒有回應正常關機請求,或者當伺服器等待正在進行的會話時(處於待機狀態)關閉伺服器,使用'Force Shutdown' 選項。
- 如果被設定為daemon,確保將rc腳本中的stop方法設定為在機器重啟和停止時正常關閉伺服器。
- 如果對節點管理器進行設定,終止節點管理器將不會停止由它們啟動的相應伺服器。必須單獨地停止各台託管伺服器。
8Vojr*q0備份和恢復51Testing软件测试网W.fuffRN;~.ZDI
為了在出現故障時遷移或恢復WebLogic域,定期備份管理伺服器機器上的整個域目錄樹。這樣,您就可以從硬體或系統故障中恢復,而要做的不過是還原域目錄並重新啟動管理伺服器。51Testing软件测试网O1o#q6^:mCsx
51Testing软件测试网h\mkz;Q2e'\$f
如果管理伺服器崩潰,管理伺服器將會把所有正在運行的託管伺服器的相關資訊保留在running-managed-servers.xml文件中。重新啟動時,管理伺服器將會讀取這個檔,並嘗試聯繫所有以前運行的託管伺服器。如果沒有託管伺服器正在運行的話,discovery模式可能會增加管理伺服器的啟動時間,但是始終要使用discovery模式(預設情況下它是打開的),這樣才能保證有託管伺服器已經運行的情況下,管理服務器重新與所有託管伺服器連結。51Testing软件测试网am)ncEA6tz
I
tDV4`f#}0一些需要引起注意/定期從管理伺服器機器上進行備份的重要檔有:
9Oj$u6_yJU|0- config.xml51Testing软件测试网 } I BW&Tsj r
域設定庫。 - config.xml.booted
fs aS+X-G9M't0成功啟動時對域設定庫的良好備份。 - boot.properties51Testing软件测试网2xCl4gC8P~,x
啟動管理伺服器時需要的加密後的帳號和密碼。 - running-managed-servers.xml51Testing软件测试网E `1xopp6K0P
這是當前正在運行的相關託管伺服器的一個列表。這個檔用於當管理服務器重新啟動後,而且有託管伺服器正在運行時,發現託管伺服器。 - domain/configArchive/
R4DiRU%] `F.`e1w0包含域設定庫檔的拷貝。使用管理工具進行更新時,管理伺服器把舊的config.xml 檔複製到這個目錄。 - domaindminserverdapdapfiles
dtyf{'F w0當前被域的管理伺服器使用的內嵌LDAP 資料檔案。 - *.ldift 文件51Testing软件测试网Qw8d,bF$j5~
這些檔可以用於把WebLogic Domain Embedded LDAP 伺服器初始化為剛剛建立域時的樣子。 - domain/adminserver/ldap/backup/EmbeddedLDAPBackup.zip
Up{&| f0WebLogic Domain Embedded LDAP 伺服器的備份。內嵌的LDAP被用於儲存使用者、組、角色、預設的安全領域使用的規則、myrealm的安全提供程式。 - Batch/Shell 腳本51Testing软件测试网6C#`|PZO(RY
setEnv.cmd/sh, startWebLogic.cmd/sh, startManagedWebLogic.cmd/sh。
51Testing软件测试网"H[R
| n4}0h5CZ
為管理任務編寫腳本
0R9shFY;v4jk0為了建立用於管理域設定的腳本:
- 使用weblogic.Admin實用程式命令BATCHUPDATE,它運行一個批次檔案中指定的一系列命令。這個命令使用一個JVM運行所有列出的命令。
- -Dweblogic.system.BootIdentityFile選項讓您可以避免把帳號和密碼硬編碼在您的文本腳本中。
- 為了在作業系統腳本中建製邏輯分支,使用下面的命令求出weblogic.Admin命令的返回原始碼:
- %ERRORLEVEL% (Windows)
- 0 (bash shell)
- weblogic.Admin 的-adminurl 選項從管理伺服器檢索託管伺服器的設定Mbean和運行時Mbean。
- 不推薦直接修改config.xml文件。
- 如果您必須修改config.xml文件:
- 首先,在編輯之前備份原始檔。
- 使用XML 編輯器,以避免錄入錯誤。
- 當管理伺服器正在運行時,要避免編輯該檔。
- 使用wlconfig Ant任務來為設定資訊編寫腳本,並把它整合到整個建製過程中。
- 當管理伺服器正在運行並且處於離線狀態時,使用 WebLogic scrīpting Tool (WLST)來修改域設定。 (dev2dev.bea.com)
- WLST提供一個功能強大的到WebLogic Server的shell介面,而且它使用Jython 作為腳本語言。
- 您還可以使用第三方的解決方案來管理設定,比如WLShell使用程式。 (www.wlshell.com)
- WLShell提供一個功能強大的、Unix風格的到WebLogic Server的shell介面;它針對WebLogic Server MBean使用檔系統類比 。
51Testing软件测试网P/gC1ff!T
日誌記錄51Testing软件测试网4s ~ |{)A-n]"F2j
日誌記錄了和事件(比如伺服器的啟動和關閉)、新應用程式的部署或者一個或多個子系統故障有關的資訊。日誌訊息包括和事件的時間與日期,以及啟動事件使用者的ID有關的資訊。每個WebLogic Server事例都可以維護一份伺服器日誌、一份HTTP擷取日誌、一份JDBC日誌和一份JTA交易日誌。51Testing软件测试网*X D%xB)I
{@6b@H*rH K0T9_0技巧