Linux WebLogic应用部署最佳实践
小樊
40
2025-11-30 16:56:59
Linux WebLogic 应用部署最佳实践
一 环境准备与基线
- 运行环境与权限
- 使用 64 位 Linux(如 CentOS/RHEL/Oracle Linux/EulerOS),创建专用系统用户 weblogic:weblogic,安装目录归属该用户,避免使用 root 运行。
- 示例:
- groupadd weblogic && useradd -g weblogic weblogic
- mkdir -p /app/weblogic && chown -R weblogic:weblogic /app/weblogic
- Java 与版本匹配
- 明确 WebLogic 版本 ↔ JDK 版本 的兼容矩阵,避免混用。
- 示例(以 JDK 11 为例):
- tar -zxvf jdk-11.x.x_linux-x64_bin.tar.gz -C /usr/local/
- echo ‘export JAVA_HOME=/usr/local/jdk-11.x.x’ >> ~weblogic/.bash_profile
- echo ‘export PATH=$JAVA_HOME/bin:$PATH’ >> ~weblogic/.bash_profile
- source ~weblogic/.bash_profile && java -version
- 主机名与解析
- 确保 /etc/hosts 正确映射主机名,避免启动与管理异常。
- 防火墙与端口
- 放行管理端口(默认 7001)及业务端口,或临时关闭防火墙用于排障(生产慎用)。
- firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload
- 资源基线
- 至少 4GB 内存(生产建议 8GB+),可用磁盘 10GB+,保证安装、日志与缓存空间。
二 安装与域创建
- 安装方式
- 图形界面:在具备桌面环境的服务器上执行安装 JAR。
- 控制台模式:无图形界面时使用 java -jar <安装包> -mode=console。
- 静默模式:使用响应文件与清单文件进行无人值守安装。
- java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
- 域创建
- 使用 $WL_HOME/common/bin/config.sh 创建域,或通过 WLST 脚本化创建,便于标准化与复用。
- cd $WL_HOME/common/bin && ./config.sh
- 或:$WL_HOME/oracle_common/common/bin/wlst.sh(进入交互式脚本界面创建域、监听、数据源等)
- 目录与变量
- 规范目录:软件安装目录(如 /app/weblogic/oracle_home)、域目录(如 /app/weblogic/user_projects/domains/base_domain)。
- 环境变量建议:设置 JAVA_HOME、WL_HOME、PATH,确保命令行与脚本可直接调用 WebLogic 工具。
三 应用部署与验证
- 部署方式
- 控制台部署:登录 http://:7001/console,在“部署”中上传 WAR/EAR 并选择目标服务器/集群,完成安装与启动。
- 自动部署:将 WAR 放入域的 autodeploy 目录,WebLogic 会自动部署与回滚,适合开发/测试。
- 命令行工具:使用 weblogic.Deployer 或 WLST 进行批量、自动化与可重复部署。
- java weblogic.Deployer -username weblogic -password **** -deploy /path/app.war -targets myserver
- 启动与验证
- 启动管理服务器:
- $DOMAIN_HOME/bin/startWebLogic.sh(建议使用后台方式或系统服务管理)
- 访问验证:
- 管理控制台:http://:7001/console
- 应用访问:http://:7001/
- 日志排查:
- 管理服务器日志:$DOMAIN_HOME/logs/AdminServer.log
- 部署与诊断日志:$DOMAIN_HOME/servers//logs
四 安全加固与运维要点
- 运行与权限
- 全程使用 weblogic 用户运行,目录与文件权限最小化;禁止以 root 直接启动域。
- 端口与防火墙
- 仅开放必要端口(如 7001/HTTPS 443),变更通过变更单与防火墙策略同步。
- 加密与凭据
- 在域目录配置 boot.properties 存放管理员凭据,避免明文口令出现在命令行历史或脚本中。
- SSL/TLS
- 为管理通道与对外接口启用 HTTPS/TLS,使用有效证书,限制弱加密套件与协议。
- 系统与内核
- 关闭不必要的服务与端口,按需放行;保持 /etc/hosts 与主机名解析正确,减少因解析异常导致的管理问题。
- 监控与日志
- 启用 WebLogic 诊断框架与服务器日志轮转,结合操作系统监控(CPU/内存/IO/连接数)建立基线告警。
五 性能调优与常见问题
- JVM 与内存
- 在 setDomainEnv.sh 中设置堆大小(如 -Xms/-Xmx),结合物理内存与应用负载合理分配,避免频繁 GC 或 OOM。
- 连接池与数据库
- 在数据源中配置合理的 初始/最大连接数、超时、验证查询,并监控连接泄漏与等待线程。
- 线程与队列
- 结合并发量调整 执行线程数 与 队列,避免请求排队过长或线程耗尽。
- 常见问题速查
- 内存/CPU 占用高:优化 JVM 参数 与代码,减少对象生命周期与大对象驻留。
- 数据库连接异常:核对 JDBC URL/驱动/账号权限,检查连接池配置与数据库健康。
- 访问慢:启用 缓存、静态资源分离、SQL 优化与服务器调优(GC、线程、连接池)。