WebLogic11g-常用運維操作


希望這篇能把weblogic運維時經常遇到的問題、常用的配置匯總到一起。  
1、配置jvm參數: 
一般在domain啟動過程中會看到以下啟動的日志信息,如下圖所示: 

圖中紅色方框部分為啟動weblogic domain的命令。其中包括了jvm參數以及classpath信息。 
【注意】 
java -client是由於之前建立的domain是開發模式的。生產模式的話,這里執行的是java -server。至於-client與-server的區別,大家去google下吧,這里不介紹了。 
那如何修改這個配置呢? 
找到setDomainEnv.cmd文件(linux下面就是setDomainEnv.sh了), 
位置為:weblogic11\user_projects\domains\example\bin\setDomainEnv.cmd 
修改文件中的MEM_ARGS部分,相關參數配置如下: 
Java代碼   收藏代碼
  1. call "%WL_HOME%\common\bin\commEnv.cmd"  
  2.   
  3. set WLS_HOME=%WL_HOME%\server  
  4.   
  5. if "%JAVA_VENDOR%"=="Sun" (  
  6.     set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m  
  7.     set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m  
  8. else (  
  9.     set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m  
  10.     set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m  
  11. )  
  12.   
  13. set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%  
  14.   
  15. set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%  
  16.   
  17. if "%JAVA_USE_64BIT%"=="true" (  
  18.     set MEM_ARGS=%MEM_ARGS_64BIT%  
  19. else (  
  20.     set MEM_ARGS=%MEM_ARGS_32BIT%  
  21. )  
  22.   
  23. set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m  
  24.   
  25. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m  
  26.   
  27. if "%JAVA_USE_64BIT%"=="true" (  
  28.     set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%  
  29. else (  
  30.     set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%  
  31. )  
  32.   
  33. set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m  
  34.   
  35. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m  
  36.   
  37. if "%JAVA_USE_64BIT%"=="true" (  
  38.     set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%  
  39. else (  
  40.     set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%  
  41. )  
  42. if "%JAVA_VENDOR%"=="Sun" (  
  43.     if "%PRODUCTION_MODE%"=="" (  
  44.         set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%   
  45.     )  
  46. )  
  47.   
  48. @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows  
  49.   
  50. if "%JAVA_VENDOR%"=="Sun" (  
  51.     set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%  
  52. )  
  53.   
  54. if "%JAVA_VENDOR%"=="HP" (  
  55.     set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%  
  56. )  
  57.   
  58. if "%JAVA_VENDOR%"=="Apple" (  
  59.     set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%  
  60. )  
  61.   
  62. @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values  
  63.   
  64. if NOT "%USER_MEM_ARGS%"=="" (  
  65.     set MEM_ARGS=%USER_MEM_ARGS%  
  66. )  

主要就是修改-Xms、-Xmx、-XX:PermSize、-XX:MaxPermSize的參數(視具體硬件、JVM負載情況進行修改)。如果需要設置-Xss等其它相關參數,也可添加到最后的MEM_ARGS中。 
這里需要注意的是有個32位、64位的區別。實際上具體采用哪種配置,可查看文件: 
weblogic11\wlserver_10.3\common\bin\commEnv.cmd 
找到set JAVA_USE_64BIT=false配置,即表示非64位環境。 

2、配置weblogic的線程隊列: 
如果大家用過weblogic8的經典版本,那么肯定知道,里面有個線程隊列數的配置。可是在現在的版本中已經取消了,而采用自調整策略,根據當前請求數調整為適應的線程數。最開始分配6個執行線程,具體在哪里看呢? 
首先登錄domain的console,然后依次選擇【環境-》服務器-》AdminServer-》監控-》線程】,如下圖所示: 

如果我想調整線程的最小、最大數量,怎么做呢?往下看: 
查看startWebLogic.cmd啟動腳本文件,不是domain下面的,具體位置是: 
weblogic11\user_projects\domains\example\bin\startWebLogic.cmd 
找到下面的語句進行修改,修改之后為: 
Java代碼   收藏代碼
  1. if "%WLS_REDIRECT_LOG%"=="" (  
  2.     echo Starting WLS with line:  
  3.     echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS%  
  4.     %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS%  
  5. else (  
  6.     echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%  
  7.     %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS%  >"%WLS_REDIRECT_LOG%" 2>&1   
  8. )  

在java命令后面增加兩個參數,分別是: 
-Dweblogic.threadpool.MinPoolSize=80 
-Dweblogic.threadpool.MaxPoolSize=80 
80表示執行的線程數,這里僅僅是舉例,視具體情況而定。如果不知道怎么設置,就不要瞎折騰了,還是讓weblogic自己調整吧。 
修改之后,重啟domain,查看線程情況,如下圖所示: 

已經明顯看到線程總數以及活動、空閑線程數量了。 
一般在運維過程中,經常會查看這個界面,以實時掌握當前服務器的負載情況。 

3、日志配置: 
默認情況下,weblogic的相關日志的存放位置是: 
weblogic11\user_projects\domains\example\servers\AdminServer\logs 
這個日志文件夾里面主要包括兩種日志 
AdminServer的日志:AdminServer.log(weblogic啟動過程中打印出來的日志) 
Http的日志:access.log(http請求的日志) 

web應用的日志存放位置是: 
weblogic11\user_projects\domains\example\logs 
這里主要就是web應用里面輸出的日志文件了 

如果想配置日志,怎么做呢? 
登錄domain的console,然后依次選擇【環境-》服務器-》AdminServer-》日志】,如下圖所示(包括兩類日志的配置): 


看這個截圖,是不是覺得weblogic的console很好很強大? 

4、端口配置(第一篇挪過來的,放在這里比較合適): 

如圖所示,依次選擇【環境-》服務器-》AdminServer-》配置-》一般信息-》監聽端口】,修改7001為其它的端口,並且點“保存”按鈕即可完成。 
也可以在weblogic11\user_projects\domains\example\config\config.xml中進行手動修改,找到server節點,增加listen-port節點,如下: 
Java代碼   收藏代碼
  1. <server>  
  2.   <name>AdminServer</name>  
  3.   <ssl>  
  4.     <enabled>false</enabled>  
  5.   </ssl>  
  6.   <listen-port>7001</listen-port>  
  7.   <listen-port-enabled>true</listen-port-enabled>  
  8.   <listen-address></listen-address>  
  9.   <java-compiler>javac</java-compiler>  
  10.   <client-cert-proxy-enabled>false</client-cert-proxy-enabled>  
  11.   <server-diagnostic-config>  
  12.     <wldf-diagnostic-volume>Low</wldf-diagnostic-volume>  
  13.   </server-diagnostic-config>  
  14. </server>  


5、修改管理賬號、口令: 
domain創建之后,會在以下位置創建boot.properties文件(注意:這個位置與weblogic之前的8、9版本有區別) 
weblogic11\user_projects\domains\example\servers\AdminServer\security 
首先修改boot.properties,如下: 
Java代碼   收藏代碼
  1. username=weblogic  
  2. password=22222222  

這里是明文,但是weblogic啟動加載該文件后,會自動通過加密處理。 
修改完成之后,在控制台中依次進入: 
安全領域-》myrealm-》用戶和組-》weblogic-》口令。輸入新的口令即可(需要與boot.properties中配置的一致,如22222222) 
(如果需要修改賬號,需要在用戶和組中建立賬號,並且賦予管理員權限即可) 
以上兩步完成之后,重啟服務即可。 

暫時就想到這么些了,像一些復雜的配置,放在后面單獨講了(比如:ssl、jaas、sso等)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM