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部分,相关参数配置如下:
- call "%WL_HOME%\common\bin\commEnv.cmd"
- set WLS_HOME=%WL_HOME%\server
- if "%JAVA_VENDOR%"=="Sun" (
- set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
- set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
- ) else (
- set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m
- set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m
- )
- set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%
- set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%
- if "%JAVA_USE_64BIT%"=="true" (
- set MEM_ARGS=%MEM_ARGS_64BIT%
- ) else (
- set MEM_ARGS=%MEM_ARGS_32BIT%
- )
- set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m
- set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m
- if "%JAVA_USE_64BIT%"=="true" (
- set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%
- ) else (
- set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%
- )
- set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m
- set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m
- if "%JAVA_USE_64BIT%"=="true" (
- set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%
- ) else (
- set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%
- )
- if "%JAVA_VENDOR%"=="Sun" (
- if "%PRODUCTION_MODE%"=="" (
- set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%
- )
- )
- @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows
- if "%JAVA_VENDOR%"=="Sun" (
- set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%
- )
- if "%JAVA_VENDOR%"=="HP" (
- set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%
- )
- if "%JAVA_VENDOR%"=="Apple" (
- set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%
- )
- @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values
- if NOT "%USER_MEM_ARGS%"=="" (
- set MEM_ARGS=%USER_MEM_ARGS%
- )
主要就是修改-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
找到下面的语句进行修改,修改之后为:
- if "%WLS_REDIRECT_LOG%"=="" (
- echo Starting WLS with line:
- 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%
- %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%
- ) else (
- echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
- %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
- )
在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节点,如下:
- <server>
- <name>AdminServer</name>
- <ssl>
- <enabled>false</enabled>
- </ssl>
- <listen-port>7001</listen-port>
- <listen-port-enabled>true</listen-port-enabled>
- <listen-address></listen-address>
- <java-compiler>javac</java-compiler>
- <client-cert-proxy-enabled>false</client-cert-proxy-enabled>
- <server-diagnostic-config>
- <wldf-diagnostic-volume>Low</wldf-diagnostic-volume>
- </server-diagnostic-config>
- </server>
5、修改管理账号、口令:
domain创建之后,会在以下位置创建boot.properties文件(注意:这个位置与weblogic之前的8、9版本有区别)
weblogic11\user_projects\domains\example\servers\AdminServer\security
首先修改boot.properties,如下:
- username=weblogic
- password=22222222
这里是明文,但是weblogic启动加载该文件后,会自动通过加密处理。
修改完成之后,在控制台中依次进入:
安全领域-》myrealm-》用户和组-》weblogic-》口令。输入新的口令即可(需要与boot.properties中配置的一致,如22222222)
(如果需要修改账号,需要在用户和组中建立账号,并且赋予管理员权限即可)
以上两步完成之后,重启服务即可。
暂时就想到这么些了,像一些复杂的配置,放在后面单独讲了(比如:ssl、jaas、sso等)
weblogic运维时经常遇到的问题和常用的配置的更多相关文章
- 提高Linux运维效率的30个命令行常用快捷键
提高Linux运维效率的30个命令行常用快捷键 表4-1 30个常用快捷键 快捷键 功能说明 最有用快捷键 tab 命令或路径等的补全键,Linux最有用快捷键* 移动光标快捷键 Ctrl+a 光标 ...
- Linux系统运维笔记(6),CentOS 7.6双网卡路由配置
Linux系统运维笔记(6),CentOS 7.6双网卡路由配置. 一,先确认系统版本: [root@localhost ~]# cat /etc/redhat-releaseCentOS Linux ...
- sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
我们只要用到数据库,一般会遇到数据库运维方面的事情,需要我们寻找原因,有很多是关乎处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统的,这时我们就需要查询他们的一些设置和内容,下面讲 ...
- 运维 07 Linux系统基础优化及常用命令
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...
- Python在自动化运维时经常会用到的方法
得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录: ...
- Redis运维时需要注意的参数
1: 内存 Memory used_memory:859192 数据结构的空间 used_memory_rss:7634944 实占空间 mem_fragmentation_ratio:8.89 前2 ...
- Linux运维二:CentOS6.6系统安装后的基本配置与优化
CentOS6.6系统安装完成后还需要做一些配置与优化: 一:Linux内核版本号介绍 查看内核版本: [root@Gin scripts]# uname -r 2.6.32-504.el6.x86_ ...
- Apache服务器运维笔记(2)----使用<IfDefine>容器实现不同的配置
还有一种方法用来实现不同配置的Apache服务器启动,就是在一个配置文件中使用<IfDefine name> ... </IfDefine> 容器来定义,在<IfDefi ...
- 自动化运维工具Ansible实战(四)常用模块
转载链接:http://blog.51cto.com/liqingbiao/1962609 Ansible模块按功能分为:云模块.集群模块. 命令模块.数据库模块.文件模块.资产模块.消息模块.监 ...
随机推荐
- Java程序的结构和执行
目录 Java程序的结构 Java程序的执行 source code -- compiler -- class file -- JVM compiler JVM Java语法 数据类型 数据的存储 堆 ...
- Python 基础(一)
本章内容 1.编译和解释型语言的区别 2.Python的解释器 3.pyc文件 4.运行环境 5.变量 6.数据类型 7.字符编码 8.三元运算 编译和解释型语言的区别 编译器是把源程序的每一条语句都 ...
- 令人惊叹的sublime text 3 插件
1.ChineseLocalization------语言汉化.(新手必备) 2.SublimeTmpl------打开生成模板.(新手必备) 3.SublimeCodeIntel------代码自 ...
- TCP 中的三次握手和四次挥手
Table of Contents 前言 数据报头部 三次握手 SYN 攻击 四次挥手 半连接 TIME_WAIT 结语 参考链接 前言 TCP 中的三次握手和四次挥手应该是非常著名的两个问题了,一方 ...
- linux随笔4
vim编辑器: 启动vim编辑器,只需键入vim 和希望编辑的文件:vim mongo.sh 如果文件存在,将显示整个内容显示到进行编辑的缓冲区,如果文件不存在,打开一个新的缓冲区进行编辑. 内容未占 ...
- MySQL 表数据的导入导出
数据导出 1. 使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下. mysql> SELECT * FROM tablename INTO OUTFILE ...
- gdb调试手册 一 gdb概述
一 gdb概述 gdb调试器的目的是让你了解其他的程序在执行的时候发生了什么或者其他程序崩溃时正在做什么 gdb主要能够在运行中做四类事情(包括这些事情中的一些附加的事情)来帮助你获取bugs a 运 ...
- 零基础学习 Python 之前期准备
写在之前 从今天开始,我将开始新的篇章 -- 零基础学习 Python,在这里我将从最基本的 Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对 ...
- 九度oj 题目1363:欢乐斗地主
题目描述: 如果大家玩过欢乐斗地主这个游戏,就一定知道有一个具有“提示”功能的按钮.如果你不知道你现在手里的牌有没有比上家大的牌,并且你也懒得去一张一张地看你手中的牌.这时候你就可以点“提示”按钮,系 ...
- phpstorm 快速插入常用代码片段