内容大纲
1. WebLogic Server概述
Oracle WebLogic Server是一个企业级Java应用服务器,提供了可靠、可扩展、安全的环境来部署和管理Java EE应用程序。它支持分布式事务、消息传递、集群和高可用性等企业级功能。
1.1 WebLogic Server版本
- WebLogic Server 12c (12.1.3, 12.2.1.x)
- WebLogic Server 14c (14.1.1)
- WebLogic Server 12.2.1.4 (长期支持版本)
2. WebLogic域管理
WebLogic域是WebLogic Server的基本管理单元,包含一个管理服务器和多个受管服务器。
2.1 域的创建
$WL_HOME/common/bin/config.sh
# 使用命令行创建域
$WL_HOME/common/bin/wlst.sh
# 在WLST中执行以下命令
readTemplate(‘$WL_HOME/common/templates/wls/wls.jar’)
set(‘AdminServerName’, ‘AdminServer’)
set(‘AdminServerListenAddress’, ”)
set(‘AdminServerListenPort’, 7001)
writeDomain(‘/oracle/oracle/user_projects/domains/base_domain’)
exit()
2.2 域的启动与停止
$DOMAIN_HOME/bin/startWebLogic.sh
# 停止管理服务器
$DOMAIN_HOME/bin/stopWebLogic.sh
# 启动受管服务器
$DOMAIN_HOME/bin/startManagedWebLogic.sh Server1 http://fgedudb:7001
# 停止受管服务器
$DOMAIN_HOME/bin/stopManagedWebLogic.sh Server1 http://fgedudb:7001
. . .
. . .
3. 服务器实例管理
WebLogic Server实例包括管理服务器和受管服务器,它们是域的基本运行单元。
3.1 服务器配置
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 创建受管服务器
cd(‘/’)
create(‘Server1’, ‘Server’)
cd(‘/Servers/Server1’)
set(‘ListenAddress’, ‘fgedudb’)
set(‘ListenPort’, 7002)
set(‘Machine’, ‘Machine1’)
activate()
exit()
3.2 服务器状态管理
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 查看服务器状态
cd(‘/Servers’)
ls()
# 启动服务器
start(‘Server1’)
# 停止服务器
shutdown(‘Server1’)
exit()
4. 集群配置与管理
WebLogic集群提供了高可用性和负载均衡功能,允许应用程序在多个服务器实例之间分布。
4.1 集群创建
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 创建集群
cd(‘/’)
create(‘Cluster1’, ‘Cluster’)
cd(‘/Clusters/Cluster1’)
set(‘ClusterMessagingMode’, ‘unicast’)
set(‘FrontendHost’, ‘cluster.fgedu.net.cn’)
set(‘FrontendHTTPPort’, 80)
# 将服务器添加到集群
cd(‘/Servers/Server1’)
set(‘Cluster’, ‘Cluster1’)
cd(‘/Servers/Server2’)
set(‘Cluster’, ‘Cluster1’)
activate()
exit()
4.2 集群负载均衡
- WebLogic插件:使用Apache或IIS作为前端,通过WebLogic插件实现负载均衡
- 硬件负载均衡器:使用F5、Citrix等硬件负载均衡器
- DNS轮询:通过DNS配置实现简单的负载均衡
5. 数据源配置与管理
WebLogic数据源是应用程序与数据库之间的连接池,提供了高效的数据库连接管理。
5.1 数据源创建
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 创建JDBC系统资源
cd(‘/’)
create(‘myDataSource’, ‘JDBCSystemResource’)
cd(‘/JDBCSystemResources/myDataSource/JDBCResource/myDataSource’)
create(‘myDataSource’, ‘JDBCDataSourceParams’)
cd(‘JDBCDataSourceParams/myDataSource’)
set(‘JNDIName’, ‘jdbc/myDataSource’)
# 配置连接池
cd(‘/JDBCSystemResources/myDataSource/JDBCResource/myDataSource’)
create(‘myDataSource’, ‘JDBCConnectionPoolParams’)
cd(‘JDBCConnectionPoolParams/myDataSource’)
set(‘InitialCapacity’, 10)
set(‘MaxCapacity’, 100)
set(‘TestTableName’, ‘SQL SELECT 1 FROM DUAL’)
# 配置数据库连接
cd(‘/JDBCSystemResources/myDataSource/JDBCResource/myDataSource’)
create(‘myDataSource’, ‘JDBCDriverParams’)
cd(‘JDBCDriverParams/myDataSource’)
set(‘DriverName’, ‘oracle.jdbc.OracleDriver’)
set(‘URL’, ‘jdbc:oracle:thin:@fgedudb:1521:ORCL’)
create(‘myDataSource’, ‘Properties’)
cd(‘Properties/myDataSource’)
create(‘user’, ‘Property’)
cd(‘Property/user’)
set(‘Value’, ‘scott’)
cd(‘/JDBCSystemResources/myDataSource/JDBCResource/myDataSource/JDBCDriverParams/myDataSource’)
create(‘password’, ‘Property’)
cd(‘Property/password’)
set(‘Value’, ‘tiger’)
# 目标数据源到服务器
cd(‘/JDBCSystemResources/myDataSource’)
create(‘myDataSource’, ‘Target’)
cd(‘Target/myDataSource’)
set(‘Targets’, jarray.array([ObjectName(‘com.bea:Name=Server1,Type=Server’)], ObjectName))
activate()
exit()
5.2 数据源监控
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 查看数据源状态
cd(‘/Servers/Server1/JDBCServiceRuntime/Server1/JDBCDataSourceRuntimeMBeans/myDataSource’)
get(‘State’)
get(‘ActiveConnectionsCurrentCount’)
get(‘ActiveConnectionsHighCount’)
exit()
6. 安全管理
WebLogic Server提供了全面的安全功能,包括认证、授权、加密和审计等。
6.1 用户和组管理
$WL_HOME/common/bin/wlst.sh
# 连接到管理服务器
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
# 创建用户
cd(‘/SecurityConfiguration/base_domain/Realm/myrealm’)
create(‘user1’, ‘User’)
cd(‘User/user1’)
set(‘Password’, ‘password123’)
# 创建组
cd(‘/SecurityConfiguration/base_domain/Realm/myrealm’)
create(‘group1’, ‘Group’)
# 将用户添加到组
cd(‘/SecurityConfiguration/base_domain/Realm/myrealm/User/user1’)
set(‘Groups’, jarray.array([‘group1’], String))
activate()
exit()
6.2 安全策略配置
- 角色:定义用户可以执行的操作
- 权限:定义用户可以访问的资源
- 安全领域:管理用户、组、角色和权限的容器
7. 监控与性能优化
WebLogic Server提供了多种监控工具和性能优化方法,帮助管理员保持系统的最佳状态。
7.1 监控工具
- WebLogic控制台:Web-based管理界面
- WLST:命令行脚本工具
- JConsole:Java监控工具
- Oracle Enterprise Manager:企业级监控工具
7.2 性能优化
# 在startWebLogic.sh或startManagedWebLogic.sh中设置
JAVA_OPTIONS=”$JAVA_OPTIONS -Xms2g -Xmx4g -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC”
# 配置连接池参数
# 在数据源配置中设置
InitialCapacity=10
MaxCapacity=100
ConnectionTimeout=30
InactiveConnectionTimeout=600
8. 故障排查与维护
WebLogic Server的故障排查需要管理员熟悉日志分析、诊断工具和常见问题的解决方案。
8.1 日志管理
$ tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
# 查看诊断日志
$ tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer-diagnostic.log
# 配置日志级别
$WL_HOME/common/bin/wlst.sh
connect(‘weblogic’, ‘password’, ‘t3://fgedudb:7001’)
cd(‘/Servers/AdminServer/Log/AdminServer’)
set(‘Severity’, ‘Info’)
activate()
exit()
8.2 常见问题排查
- 服务器启动失败:检查端口占用、内存不足、配置错误
- 应用部署失败:检查应用包完整性、依赖项、权限
- 性能问题:检查JVM内存、连接池、线程池
- 集群同步问题:检查网络连接、时间同步、集群配置
- 实施定期的域备份策略
- 建立服务器基线配置
- 定期更新WebLogic补丁
- 实施严格的访问控制
- 监控服务器性能和安全状态
- 使用配置管理工具管理WebLogic配置
风哥风哥提示:WebLogic中间件高级管理需要管理员具备扎实的技术基础和丰富的经验,建议定期参加相关培训以保持技能更新。学习交流加群风哥微信: itpux-com。
更多学习教程www.fgedu.net.cn。
author:www.itpux.com
更多学习教程公众号风哥教程itpux_com。
学习交流加群风哥QQ113257174。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
