1.Weblogic脚本工具WLST介绍
可以用命令行来操作
Weblogic scripting tools
2.Weblogic WLST三种工作模式
2.1 wlst.sh tips:weblogic的T3 协议与HTTP/HTTPS 协议
操作如下:wlst在 common目录下
weblogic14c/wlserver/common/bin/
[weblogic@fysedu32 weblogic]$ cd weblogic14c/wlserver/common/bin/
[weblogic@fysedu32 bin]$ ls
config.sh pack.sh unpack.sh wlscontrol.sh wlsifconfig.sh wlst.sh
#然后输入 ./wlst.sh
[weblogic@fysedu32 bin]$ ./wlst.sh WARNING: This is a deprecated script. Please invoke the wlst.sh script under oracle_common/common/bin.Initializing WebLogic Scripting Tool (WLST) ...Jython scans all the jar files it can find at first startup. Depending on the system, this process may take a few minutes to complete, and WLST may not return a prompt right away.Welcome to WebLogic Server Administration Scripting ShellType help() for help on available commands
然后你可以输入help()帮助去看相关的命令
help('all'): 列出所有可用的 WLST 命令。
help('browse'): 列出用于浏览层次结构的命令。
help('common'): 列出最常用的命令。
help('control'): 列出用于控制域/服务器的命令。
help('deployment'): 列出用于部署应用程序的命令。
help('diagnostics'): 列出用于执行诊断的命令。
help('editing'): 列出用于编辑配置的命令。
help('information'): 列出用于显示信息的命令。
help('lifecycle'): 列出用于管理生命周期的命令。
help('nodemanager'): 列出用于使用 Node Manager 的命令。
help('offline'): 列出所有离线命令。
help('online'): 列出所有在线命令。
help('storeadmin'): 列出所有存储管理命令。
help('trees'): 列出用于导航 MBean 层次结构的命令。
help('variables'): 列出所有全局变量。
然后在输入wls:/offline> connect('weblogic','12345678','t3://192.168.0.32:7003')
具体来说,这行代码的含义如下:
weblogic: 是 WebLogic Server 的用户名。
12345678: 是与用户名相关联的密码。
t3://192.168.0.32:7003: 是 WebLogic Server 实例的 T3 协议连接地址。在这个例子中,服务器位于 IP 地址 192.168.0.32,使用 T3 协议的端口号是 7003。
当你执行这行代码时,它将尝试与指定的 WebLogic Server 实例建立连接。
连接成功以后wls:/offline>
会变成 wls:/tjdomain7003/serverConfig/> 状态
成功连接到 WebLogic Server 并进入了 serverConfig 部分。这表示你现在可以在 WLST 中执行与服务器配置相关的操作。
然后可以根据上方的help()帮助命令去操作
不用了输入exit()退出
上面的是第一种方法
2.2 Java weblogic.WLST
嵌入到java程序中()一般是开发人员会使用这种方式进入
[weblogic@fysedu32 bin]$ cd /weblogic/weblogic14c/wlserver/server/bin/
[weblogic@fysedu32 bin]$ ls
eclipse.sh saveMemory.sh startNodeManager.sh stopNodeManager.sh
idlj setWLSEnv.sh startRSDaemon.sh stopRSDaemon.sh
eclipse.sh - 可能是与 Eclipse 集成相关的脚本。
saveMemory.sh - 可能是一个用于保存内存状态的脚本。
startNodeManager.sh - 用于启动 Node Manager 的脚本。
stopNodeManager.sh - 用于停止 Node Manager 的脚本。
idlj - 可能是与 IDL(Interface Definition Language)相关的工具,用于 CORBA(Common Object Request Broker Architecture)。
setWLSEnv.sh - 设置 WebLogic Server 环境的脚本。
startRSDaemon.sh - 启动 RMI(Remote Method Invocation)守护进程的脚本。
stopRSDaemon.sh - 停止 RMI 守护进程的脚本。
进到这个目录以后执行./setWLSEnv.sh
#初始化环境
[weblogic@fysedu32 bin]$ ./setWLSEnv.sh
#要确定这个java是存在于weblogic目录下去用java指定该(WLST)
[weblogic@fysedu32 bin]$ which java
/weblogic/jdk1.8.0_261/bin/java[weblogic@fysedu32 bin]$ java -cp /weblogic/weblogic14c/wlserver/server/lib/weblogic.jar weblogic.WLST[weblogic@fysedu32 weblogic]$ java -cp weblogic14c/wlserver/server/lib/weblogic.jar weblogic.WLSTInitializing WebLogic Scripting Tool (WLST) ...Welcome to WebLogic Server Administration Scripting ShellType help() for help on available commandswls:/offline>
这样子就进来了,然后去连接connect('weblogic','12345678','t3://192.168.0.32:7003')
connect('weblogic','12345678','t3://192.168.0.32:7001')
2.3
3.通过ELST查看与修改WebLogic配置
成功连接到ELST以后怎么修改WebLogic配置
手工去修改
然后输入ls()去看一下这里文件的相关的权限
dr–这里都是目录,想要找到具体的目录在这里慢慢摸索
查看域的信息:
这是脚本
connect('weblogic', '12345678', 't3://192.168.0.32:7003')servers = domainRuntimeService.getServerRuntimes()
print('域中的服务器状态:')
for server in servers:serverName = server.getName()state = server.getState()print(f'Server: {serverName}, State: {state}')disconnect()
AdminServer 关联的 JVM:
wls:/tjdomain7003/domainRuntime/ServerRuntimes/AdminServer/JVMRuntime/AdminServer> ls()-r-- HeapFreeCurrent 264841696
-r-- HeapFreePercent 70
-r-- HeapSizeCurrent 406323200
-r-- HeapSizeMax 477626368
-r-- JavaVMVendor Oracle Corporation
-r-- JavaVendor Oracle Corporation
-r-- JavaVersion 1.8.0_261
-r-- Name AdminServer
-r-- OSName Linux
-r-- OSVersion 3.10.0-957.el7.x86_64
-r-- Type JVMRuntime
-r-- Uptime 5669045
那如何修改上面那些配置信息
可以输入 edit()
edit()
wls:/tjdomain7003/edit/> cd('Servers')#ls() 看看你可以编辑修改哪些内容
ls()
dr-- SNMPAgentDeployments
dr-- SecurityConfiguration
dr-- SelfTuning
dr-- ServerTemplates
dr-- Servers
dr-- ShutdownClasses
dr-- SingletonServices
#比如要修改日志:
dr-- JTAMigratableTarget
dr-- Log
dr-- Machine
dr-- NetworkAccessPoints
dr-- OverloadProtection
wls:/tjdomain7003/edit/Servers> ls()
dr-- AdminServerwls:/tjdomain7003/edit/Servers> cd('AdminServer')
wls:/tjdomain7003/edit/Servers/AdminServer> ls()
dr-- IIOP
dr-- JTAMigratableTarget
dr-- Log
dr-- Machine
dr-- NetworkAccessPointswls:/tjdomain7003/edit/Servers/AdminServer> cd('Log')
wls:/tjdomain7003/edit/Servers/AdminServer/Log> ls()
dr-- AdminServerwls:/tjdomain7003/edit/Servers/AdminServer/Log> cd('AdminServer')
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer> ls()
r-- DynamicallyCreated false
-rw- FileCount 100
-rw- FileMinSize 5000
修改任何东西都是这么做,学会方法
#要修改之前得登录edit运行模式
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer> startEdit()
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
#已开启编辑模式
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer !>
就能把文件的个数100改成4,方法set('文件名称','修改的内容')
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer !> set('FileCount','4')
#保存
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer !> sava()
#激活
wls:/tjdomain7003/edit/Servers/AdminServer/Log/AdminServer !> activate()ls()
可以退出来去domain里面看看配置是否更改成了4
[weblogic@fysedu32 tjdomain7003]$ more config/config.xml
找到log
<log><file-count>4</file-count></log>
查看服务器状态:
这将获取服务器的状态并将其打印出来。你可以在执行这个命令后检查输出,看看服务器的状态是什么。
serverRuntime()
cd('ServerRuntimes/AdminServer')
wls:/tjdomain7003/serverRuntime/> state = get('State')
wls:/tjdomain7003/serverRuntime/> print('Server State:', state)
('Server State:', u'RUNNING')
查看数据源信息:
jdbcSystemResources = cmo.getJDBCSystemResources()
for jdbcSystemResource in jdbcSystemResources:dsName = jdbcSystemResource.getName()print('Data Source:', dsName)
查看部署信息:
appDeployments = cmo.getAppDeployments()
for appDeployment in appDeployments:appName = appDeployment.getName()print('Application:', appName)
查看日志信息:
domainRuntime()
serverLog()
启动和停止服务器:
nmStart('AdminServer')
nmKill('AdminServer')
部署应用程序:
appPath = '/path/to/your/app.war'
deploy(appName='YourApp', path=appPath, targets='AdminServer', stageMode='nostage')
创建数据源:
edit()
startEdit()
cd('/')
cmo.createJDBCSystemResource('YourDataSource')
cd('/JDBCSystemResources/YourDataSource/JDBCResource/YourDataSource')
cmo.setName('YourDataSource')
cd('/JDBCSystemResources/YourDataSource/JDBCResource/YourDataSource/JDBCConnectionPoolParams/YourDataSource')
cmo.setTestTableName('SQL SELECT 1 FROM DUAL')
save()
activate()
配置JMS队列:
edit()
startEdit()
cd('/')
cmo.createJMSSystemResource('YourJMSModule')
cd('/JMSSystemResources/YourJMSModule/JMSResource/YourJMSModule')
cmo.createQueue('YourQueue')
cd('/JMSSystemResources/YourJMSModule/JMSResource/YourJMSModule/Queues/YourQueue')
cmo.setJNDIName('jms/YourQueue')
save()
activate()
这上面的手工做的太麻烦了,所以我用批处理命令去操作
首先啊,你得创建一个.py文件
比如fysedu.py
把下面的内容写到里面来
connect('weblogic', '12345678', 't3://192.168.0.32:7003')
edit()
cd('Servers')
cd('AdminServer')
cd('Log')
cd('AdminServer')
startEdit()
set('FileCount', '5')
save()
activate()
disconnect()
exit()
在weblogic下写:
vi fysedu.py
写完保存以后用
输入
java -cp /weblogic/weblogic14c/wlserver/server/lib/weblogic.jar weblogic.WLST fysedu.py
成功以后再去查一下
[weblogic@fysedu32 tjdomain7003]$ more config/config.xml
找到log
<log><file-count>5</file-count></log>