• weblogic运维时经常遇到的问题和常用的配置


     
    希望这篇能把weblogic运维时经常遇到的问题、常用的配置汇总到一起。
    1、配置jvm参数:
    一般在domain启动过程中会看到以下启动的日志信息,如下图所示:

    图中红色方框部分为启动weblogic domain的命令。其中包括了jvm参数以及classpath信息。
    【注意】
    java -client是由于之前建立的domain是开发模式的。生产模式的话,这里执行的是java -server。至于-client与-server的区别,大家去google下吧,这里不介绍了。
    那如何修改这个配置呢?
    找到setDomainEnv.cmd文件(linux下面就是setDomainEnv.sh了),
    位置为:weblogic11user_projectsdomainsexampleinsetDomainEnv.cmd
    修改文件中的MEM_ARGS部分,相关参数配置如下:
    Java代码  收藏代码
    1. call "%WL_HOME%commonincommEnv.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位的区别。实际上具体采用哪种配置,可查看文件:
    weblogic11wlserver_10.3commonincommEnv.cmd
    找到set JAVA_USE_64BIT=false配置,即表示非64位环境。

    2、配置weblogic的线程队列:
    如果大家用过weblogic8的经典版本,那么肯定知道,里面有个线程队列数的配置。可是在现在的版本中已经取消了,而采用自调整策略,根据当前请求数调整为适应的线程数。最开始分配6个执行线程,具体在哪里看呢?
    首先登录domain的console,然后依次选择【环境-》服务器-》AdminServer-》监控-》线程】,如下图所示:

    如果我想调整线程的最小、最大数量,怎么做呢?往下看:
    查看startWebLogic.cmd启动脚本文件,不是domain下面的,具体位置是:
    weblogic11user_projectsdomainsexampleinstartWebLogic.cmd
    找到下面的语句进行修改,修改之后为:
    Java代码  收藏代码
    1. if "%WLS_REDIRECT_LOG%"=="" (  
    2.     echo Starting WLS with line:  
    3.     echo %JAVA_HOME%injava %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%serverlibweblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS%  
    4.     %JAVA_HOME%injava %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%serverlibweblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS%  
    5. else (  
    6.     echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%  
    7.     %JAVA_HOME%injava %JAVA_VM% %MEM_ARGS% -Dweblogic.threadpool.MinPoolSize=80 -Dweblogic.threadpool.MaxPoolSize=80 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%serverlibweblogic.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的相关日志的存放位置是:
    weblogic11user_projectsdomainsexampleserversAdminServerlogs
    这个日志文件夹里面主要包括两种日志
    AdminServer的日志:AdminServer.log(weblogic启动过程中打印出来的日志)
    Http的日志:access.log(http请求的日志)

    web应用的日志存放位置是:
    weblogic11user_projectsdomainsexamplelogs
    这里主要就是web应用里面输出的日志文件了

    如果想配置日志,怎么做呢?
    登录domain的console,然后依次选择【环境-》服务器-》AdminServer-》日志】,如下图所示(包括两类日志的配置):


    看这个截图,是不是觉得weblogic的console很好很强大?

    4、端口配置(第一篇挪过来的,放在这里比较合适):

    如图所示,依次选择【环境-》服务器-》AdminServer-》配置-》一般信息-》监听端口】,修改7001为其它的端口,并且点“保存”按钮即可完成。
    也可以在weblogic11user_projectsdomainsexampleconfigconfig.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版本有区别)
    weblogic11user_projectsdomainsexampleserversAdminServersecurity
    首先修改boot.properties,如下:
    Java代码  收藏代码
    1. username=weblogic  
    2. password=22222222  

    这里是明文,但是weblogic启动加载该文件后,会自动通过加密处理。
    修改完成之后,在控制台中依次进入:
    安全领域-》myrealm-》用户和组-》weblogic-》口令。输入新的口令即可(需要与boot.properties中配置的一致,如22222222)
    (如果需要修改账号,需要在用户和组中建立账号,并且赋予管理员权限即可)
    以上两步完成之后,重启服务即可。

    暂时就想到这么些了,像一些复杂的配置,放在后面单独讲了(比如:ssl、jaas、sso等)
  • 相关阅读:
    C#.NET Split 的几种使用方法
    给网站指明手机网网站
    手机访问网站自动跳转到手机版
    手机网页点击链接触发手机自动拨打或保存电话的代码
    图片切换效果2(定时+左右按钮)
    java HttpClient设置代理
    将应用部署到Tomcat根目录的方法
    Java中ArrayList类的用法
    JSP/Serlet 使用fileupload上传文件
    java 格式化字符串
  • 原文地址:https://www.cnblogs.com/lcword/p/7484771.html
Copyright © 2020-2023  润新知