CentOS与WebLogic集成最佳实践
WebLogic依赖JDK运行,需选择与版本匹配的JDK(如WebLogic 14.1.1需JDK 8)。建议使用Oracle JDK,避免使用系统自带JDK。安装后配置环境变量(JAVA_HOME、PATH、CLASSPATH),并通过java -version验证安装。
为隔离运行环境,创建非root用户(如weblogic)及同组(weblogic)。设置用户密码,并创建安装目录(如/opt/weblogic),授权给weblogic用户(chown -R weblogic:weblogic /opt/weblogic)。
下载WebLogic安装包(如fmw_14.1.1.0.0_wls_lite_generic.jar),创建响应文件(wls.rsp),指定ORACLE_HOME、INSTALL_TYPE等参数(如ORACLE_HOME=/opt/weblogic/Oracle/Middleware,INSTALL_TYPE=WebLogic Server)。使用weblogic用户执行静默安装命令:java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc。
进入WebLogic安装目录的common/bin,执行config.sh脚本,通过交互式界面或命令行(wlst.sh)创建域。配置管理服务器(AdminServer)的监听地址(空或服务器IP)和端口(默认7001),设置管理员密码(避免使用默认weblogic)。启动域:/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh。
禁止安装示例应用(如SampleApp),关闭不必要的端口(如7002、7003)。更改默认端口(如将7001改为8080或其他高位端口),减少扫描攻击风险。
设置管理员密码复杂度(至少8位,包含大小写字母、数字和特殊字符),禁用默认weblogic用户或修改其密码。配置访问控制列表(ACL),限制对WebLogic安装目录(/opt/weblogic)和配置文件的访问(如chmod -R 750 /opt/weblogic)。
启用SSL/TLS加密管理服务器通信(在管理控制台配置Keystore和Truststore),保护数据传输安全。开启安全审计功能,通过审计提供者记录关键事件(如登录、配置变更),便于溯源。
调整堆内存大小(-Xms初始堆、-Xmx最大堆,如-Xms2048m -Xmx4096m),避免频繁扩容。选择高效垃圾回收器(如G1,-XX:+UseG1GC),优化GC性能。调整永久代/元空间大小(Java 7及以前:-XX:PermSize=512m -XX:MaxPermSize=512m;Java 8及以上无需设置)。
增加文件描述符限制(临时:ulimit -n 65535;永久:修改/etc/security/limits.conf,添加* soft nofile 65535、* hard nofile 65535)。优化TCP/IP参数(修改/etc/sysctl.conf,添加net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=30、net.core.somaxconn=1024),提升网络连接性能。
调整线程池大小(thread-pool的max-threads,如100-200,根据并发请求调整),避免线程阻塞。优化连接池大小(connection-pool的max-capacity,如200-500,根据数据库负载调整),提高数据库访问效率。启用Native IO(在管理控制台配置域或服务器实例的Native IO选项),提升I/O性能。
使用WebLogic管理控制台(http://<server-ip>:7001/console)监控服务器状态(CPU、内存、线程)、JVM指标(堆使用率、GC次数)和连接池状态(活跃连接数、等待连接数)。通过WLST脚本(如getMetric()函数)自动化收集性能数据。
配置日志级别(如INFO、WARNING),避免过多日志输出影响性能。定期归档日志文件(如/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/logs),保留最近30天的日志,便于故障排查。
定期备份域配置文件(/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain)和重要数据(如数据库连接信息、应用部署包),可使用tar命令或第三方备份工具。及时应用WebLogic安全补丁和JDK更新,修复已知漏洞(如Oracle每月发布的安全补丁)。