WebLogic在Debian上的最佳实践指南
导读:WebLogic在Debian上的最佳实践指南 一、前期准备:系统与依赖配置 系统更新与版本确认 安装前确保Debian系统为受支持的版本(如Debian 10及以上),并更新至最新状态:sudo apt update &&...
WebLogic在Debian上的最佳实践指南
一、前期准备:系统与依赖配置
- 系统更新与版本确认
安装前确保Debian系统为受支持的版本(如Debian 10及以上),并更新至最新状态:sudo apt update & & sudo apt upgrade -y - 安装必要依赖
安装WebLogic安装及运行所需的工具包(如wget、unzip、build-essential等):sudo apt install -y wget unzip build-essential libaio-dev libnsl1 libssl-dev - Java环境配置
WebLogic需Java 8及以上版本(推荐OpenJDK或Oracle JDK)。以OpenJDK 11为例:sudo apt install -y openjdk-11-jdk # 验证安装 java -version # 持久化JAVA_HOME环境变量(全局生效) echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee /etc/profile.d/java.sh echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh source /etc/profile.d/java.sh
二、WebLogic安装:安全与规范
- 下载官方安装包
从Oracle官方网站下载适用于Linux的WebLogic Server安装包(如wls14110_generic.jar),避免使用第三方非正版资源。 - 创建专用用户与目录
以非root用户(如weblogic)运行WebLogic,提升安全性:sudo groupadd weblogic sudo useradd -g weblogic -d /opt/weblogic -s /bin/bash weblogic sudo mkdir -p /opt/weblogic sudo chown -R weblogic:weblogic /opt/weblogic - 解压与安装
切换至weblogic用户,解压安装包至目标目录:su - weblogic java -jar /path/to/wls14110-generic.jar -silent -responseFile /path/to/response_file.rsp # response_file.rsp需预先配置(如指定oracleHome=/opt/weblogic)
三、域配置:标准化与管理
- 创建域
使用config.sh脚本创建域,遵循“最小权限”原则配置域参数(如域名称、管理服务器端口、监听地址):cd /opt/weblogic/oracle_common/bin ./config.sh -domain mydomain -template /opt/weblogic/wlserver/common/templates/wls/wls.jar - 配置监听器与网络
编辑config/config.xml,设置管理服务器监听地址(建议使用内网IP或域名)和端口(默认7001),仅开放必要端口:< server> < name> AdminServer< /name> < listen-address> 192.168.1.100< /listen-address> < listen-port> 7001< /listen-port> < /server> - 配置SSL加密
为管理服务器配置SSL证书(如自签名证书),修改config.xml启用SSL:< server> < name> AdminServer< /name> < ssl> < enabled> true< /enabled> < key-store> /opt/weblogic/security/mykeystore.jks< /key-store> < key-store-type> JKS< /key-store-type> < key-store-password> changeit< /key-store-password> < /ssl> < /server>
四、性能调优:多维度优化
- JVM调优
根据服务器内存调整堆大小(避免过大导致Full GC频繁),选择合适的垃圾回收器(如G1GC):# 在setDomainEnv.sh中添加(示例:初始堆2G,最大堆4G) export JAVA_OPTIONS="${ JAVA_OPTIONS} -Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200" - 线程池与连接池优化
- 线程池:根据CPU核心数调整(每核25-50个线程),避免过多线程导致上下文切换开销;
# 在setDomainEnv.sh中添加 export JAVA_OPTIONS="${ JAVA_OPTIONS} -Dweblogic.threadpool.MinThreads=50 -Dweblogic.threadpool.MaxThreads=200" - 数据库连接池:设置合理的初始容量(10)、最大容量(100)及超时时间(100秒):
< jdbc-connection-pool> < initial-capacity> 10< /initial-capacity> < max-capacity> 100< /max-capacity> < shrink-frequency-seconds> 300< /shrink-frequency-seconds> < /jdbc-connection-pool>
- 线程池:根据CPU核心数调整(每核25-50个线程),避免过多线程导致上下文切换开销;
- 操作系统调优
- 增加文件描述符限制(避免连接数满):
echo "weblogic soft nofile 65536" | sudo tee -a /etc/security/limits.conf echo "weblogic hard nofile 65536" | sudo tee -a /etc/security/limits.conf - 调整TCP参数(提升网络吞吐量):
echo "net.ipv4.tcp_max_syn_backlog = 4096" | sudo tee -a /etc/sysctl.conf echo "net.core.somaxconn = 1024" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
- 增加文件描述符限制(避免连接数满):
五、安全加固:防范风险
- 修改默认凭证
登录WebLogic管理控制台(http://< ip> :7001/console),立即修改默认管理员账号(weblogic)的密码(使用强密码,包含大小写字母、数字及特殊字符)。 - 防火墙配置
使用ufw仅开放必要端口(如7001管理端口、8080应用端口),禁止未授权访问:sudo ufw allow from 192.168.1.0/24 to any port 7001 proto tcp # 仅允许内网访问管理端口 sudo ufw enable - 权限管理
严格控制WebLogic目录权限(如/opt/weblogic仅weblogic用户可写),避免其他用户修改配置文件。
六、监控与维护:保障稳定性
- 日志管理
配置日志轮转(避免日志文件过大占用磁盘空间),编辑logging.properties文件:handlers=java.util.logging.FileHandler java.util.logging.FileHandler.level=INFO java.util.logging.FileHandler.limit=10485760 # 10MB java.util.logging.FileHandler.count=10 # 保留10个备份 - 监控工具
- 使用WebLogic自带的管理控制台监控服务器状态(如CPU、内存、线程池);
- 集成第三方工具(如Prometheus+Grafana),实现实时性能监控与告警。
- 备份与恢复
定期备份域配置(/opt/weblogic/user_projects/domains/mydomain)及应用程序数据,测试恢复流程(如模拟域损坏时的恢复步骤)。 - 更新与补丁
定期检查WebLogic官方补丁更新(通过My Oracle Support),及时安装安全补丁和功能改进(避免使用过期版本)。
七、应用部署:规范与优化
- 部署方式
- 生产环境推荐使用自动部署(将WAR/EAR文件放入
/opt/weblogic/user_projects/domains/mydomain/servers/AdminServer/deployments目录),或通过管理控制台/命令行工具(deploy.sh)部署; - 避免直接修改
autodeploy目录下的文件(可能导致部署失败)。
- 生产环境推荐使用自动部署(将WAR/EAR文件放入
- 应用优化
- 关闭应用自动重载(
Servlet重新加载检查设置为-1),减少不必要的资源消耗; - 使用缓存(如WebLogic的
Page Cache、Data Cache)提升应用性能; - 优化SQL查询(避免全表扫描),减少数据库负载。
- 关闭应用自动重载(
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: WebLogic在Debian上的最佳实践指南
本文地址: https://pptw.com/jishu/736272.html
