简介:这份资源是 Oracle WebLogic Server 12c 12.2.1.4.0 的 Linux 通用版本静默安装包,面向需要在 Linux 服务器上部署企业级 Java 应用的中高级运维与开发人员。WebLogic 12c 作为成熟的 Java 应用服务器与中间件平台,可支撑应用的构建、部署与统一管理,适合搭建测试或生产环境时使用。压缩包共 2 个文件,以 jar 安装包与 html 说明文档为主,整体约 826.35MB,解压后即可通过 JDK 的 bin 目录命令行执行安装。需注意该版本不支持 JDK1.7 与 openJDK,须在 Oracle JDK1.8 环境下安装,且解压与安装路径不宜含中文。目前已有 698 人学习下载,读者可借此快速获取可用的安装介质,省去四处检索与版本比对的时间,并提前了解环境先决条件,降低部署踩坑概率。
1. WebLogic 12c 12.2.1.4.0 Linux 通用版本:为什么这个“老版本”还在被反复下载
如果你最近在帮团队搭一套遗留系统的中间件环境,大概率会遇到一个绕不开的版本号:WebLogic 12c 12.2.1.4.0 的 Linux 通用版本。它既不是最新的 14c,也不是 12.2.1.3,而是一个被大量存量业务“钉死”在配置文件里的版本。很多金融、电信、政企类项目的部署文档里,JDK 版本、补丁号、甚至启动脚本的路径都跟这个版本强绑定,换一个版本就可能触发类加载冲突或者 JMS 行为差异。
这个标题背后真正要解决的问题是:在 Linux 服务器上,拿到一个能直接安装、能跑通域创建、能对接现有应用的 WebLogic 12.2.1.4.0 通用安装包,并且知道怎么验证它没被下错、没被下残。适合谁看?适合手里有 Linux 环境、需要复现一套中间件基线、或者正在做环境迁移但不敢随便升级版本的运维和中间件工程师。下面我按实际落地顺序,把选包、下载、校验、安装、建域、排错这条链路拆开讲。
2. 先搞清楚 12.2.1.4.0 的包结构:通用版本到底“通用”在哪
2.1 通用版本与平台专用包的区别
WebLogic 的安装介质在 12c 阶段主要分两类:一类是平台专用的 Quick Installer,比如带linux64后缀的 bin 文件;另一类是 Generic Installer,也就是标题里说的“通用版本”。通用版本的本质是一个基于 Java 的安装器,它不绑定具体操作系统架构,只要目标机器上有兼容的 JDK,就能通过java -jar或者解压方式完成安装。平台专用包则把 JVM 和部分本地库一起打包,安装更省事,但体积更大,跨平台能力差。
我一般会优先选通用版本,原因有三个:第一,它方便在离线环境里统一分发,不用为每种 Linux 发行版单独准备介质;第二,它跟后续补丁升级的兼容性更好,补丁包通常也是 generic 的;第三,很多存量项目的部署脚本里写的路径就是基于通用安装器展开的目录结构,换成 Quick Installer 反而要改脚本。
2.2 12.2.1.4.0 在版本序列里的位置
12.2.1.4.0 是 12c Release 2 的一个补丁集版本,内部版本号对应 12.2.1.4.0,通常简写为 12.2.1.4。它比 12.2.1.3 多了不少安全补丁和 JDK 兼容性改进,但又没有 12.2.1.5 之后的一些行为变更。很多中间件基线文档里会明确写“WebLogic 12.2.1.4.0 + JDK 1.8.0_xxx”,这个组合是经过大量生产验证的。如果你手里的应用是几年前编译的,直接上 14c 可能会遇到 JAX-WS 版本冲突或者管理控制台插件不兼容,所以老老实实找 12.2.1.4.0 反而是最稳的。
2.3 下载前必须确认的三个信息
在动手下载之前,先确认三件事,能省掉后面很多返工。第一,目标 Linux 的架构是 x86_64 还是 aarch64,通用版本虽然不绑定架构,但依赖的 JDK 必须匹配;第二,你需要的到底是完整安装包还是补丁包,完整安装包文件名里通常带fmw_12.2.1.4.0_wls.jar这类标识,补丁包则是p2或opatch格式;第三,确认是否有可用的 JDK,WebLogic 12.2.1.4.0 官方支持 JDK 8,部分场景也能跑在 JDK 11 上,但生产环境我建议还是用 JDK 8 的某个较新补丁版本。
提示:不要从非官方渠道下载安装包,尤其是那些重新打包过的“绿色版”。中间件安装包被篡改后,轻则安装失败,重则留下后门。校验哈希值是必须做的步骤。
3. 在 Linux 上拿到并校验 12.2.1.4.0 通用安装包
3.1 下载渠道与文件命名规律
WebLogic 的安装介质通常通过官方软件交付平台获取,需要有一个已授权的账号。登录后搜索 “WebLogic Server 12.2.1.4.0”,在结果里筛选 “Generic” 或 “Generic Installer”。下载下来的文件名一般长这样:fmw_12.2.1.4.0_wls.jar,大小在 1GB 左右。有时候还会附带一个fmw_12.2.1.4.0_wls_quick.jar,那是快速安装版,功能少一些,不建议生产用。
如果你是在一个已经授权的环境里,也可以直接问团队里负责中间件基线的人要一份内部归档的安装包,但一定要拿到对应的 SHA256 校验值。没有校验值的包,我一般不敢往生产环境放。
3.2 用 sha256sum 做完整性校验
下载完成后,第一件事不是急着安装,而是校验。假设你拿到的文件是fmw_12.2.1.4.0_wls.jar,校验命令如下:
# 计算下载文件的 SHA256 值 sha256sum fmw_12.2.1.4.0_wls.jar # 如果官方提供了校验文件,可以直接比对 # 假设校验文件名为 fmw_12.2.1.4.0_wls.jar.sha256 sha256sum -c fmw_12.2.1.4.0_wls.jar.sha256逻辑说明:sha256sum会输出一串 64 位十六进制字符,跟官方公布的哈希值逐位比对。如果一致,说明文件在传输过程中没有损坏或被篡改。-c参数用于根据校验文件自动比对,省去肉眼核对。参数上没有什么可调的,关键是校验文件本身必须来自可信来源。
3.3 检查 JDK 版本与安装包兼容性
在安装之前,先确认目标机器上的 JDK 版本。WebLogic 12.2.1.4.0 的通用安装器需要 JDK 8 才能正常启动。用下面的命令查看:
# 查看当前 JDK 版本 java -version # 如果系统里有多个 JDK,可以显式指定路径 /usr/java/jdk1.8.0_xxx/bin/java -version如果输出显示1.8.0_xxx,那就没问题。如果显示的是 JDK 11 或更高,安装器可能能启动,但后续建域和启动管理服务器时容易出兼容性问题。我一般会单独准备一个 JDK 8 目录,通过JAVA_HOME环境变量指向它,避免跟系统默认 JDK 混用。
# 临时设置 JAVA_HOME,仅对当前会话有效 export JAVA_HOME=/usr/java/jdk1.8.0_xxx export PATH=$JAVA_HOME/bin:$PATH参数说明:JAVA_HOME指向 JDK 8 的根目录,PATH把 JDK 的 bin 目录提前,确保java命令调用的是正确的版本。这个设置只对当前终端有效,如果要持久化,需要写进~/.bash_profile或/etc/profile。
4. 静默安装与建域:把 12.2.1.4.0 跑起来的最小步骤
4.1 用响应文件做静默安装
生产环境通常没有图形界面,所以静默安装是必备技能。WebLogic 的通用安装器支持通过响应文件(response file)来驱动安装过程。先准备一个wls.rsp文件:
# 创建响应文件 wls.rsp cat > wls.rsp <<'EOF' [ENGINE] Response File Version=1.0.0.0.0 [GENERIC] ORACLE_HOME=/u01/app/oracle/middleware INSTALL_TYPE=WebLogic Server DECLINE_SECURITY_UPDATES=true SECURITY_UPDATES_VIA_MYORACLESUPPORT=false EOF逻辑说明:ORACLE_HOME指定中间件安装目录,我习惯放在/u01/app/oracle/middleware下,方便跟其他 Oracle 产品统一管理。INSTALL_TYPE选WebLogic Server表示只装 WebLogic Server 组件,不装 Coherence 等附加件。DECLINE_SECURITY_UPDATES设为 true 表示不接收安全更新通知,内网环境通常这样设。
然后执行静默安装:
# 使用响应文件进行静默安装 $JAVA_HOME/bin/java -jar fmw_12.2.1.4.0_wls.jar -silent -responseFile /tmp/wls.rsp -invPtrLoc /tmp/oraInst.loc参数说明:-silent表示静默模式,-responseFile指定响应文件路径,-invPtrLoc指定中央清单文件位置。如果省略-invPtrLoc,安装器会默认写到/etc/oraInst.loc,需要 root 权限。我一般会在/tmp下准备一个临时的oraInst.loc,内容指向一个可写的 inventory 目录。
安装完成后,检查ORACLE_HOME下是否出现了wlserver目录,以及oraInst.loc是否记录了本次安装。
4.2 用 WLST 离线建域
安装完中间件只是第一步,接下来要创建 WebLogic 域。12.2.1.4.0 支持用 WLST(WebLogic Scripting Tool)离线建域,不需要启动管理服务器。先写一个简单的 Python 脚本:
# create_domain.py # 读取域模板并创建基础域 readTemplate('/u01/app/oracle/middleware/wlserver/common/templates/wls/wls.jar') # 设置管理服务器监听地址和端口 cd('/Servers/AdminServer') set('ListenAddress', '0.0.0.0') set('ListenPort', 7001) # 设置管理员账号密码 cd('/Security/base_domain/User/weblogic') cmo.setPassword('Welcome1_ChangeMe') # 写入域目录 writeDomain('/u01/app/oracle/domains/base_domain') closeTemplate() exit()逻辑说明:readTemplate加载 WebLogic 自带的域模板,cd进入管理服务器配置节点,set修改监听地址和端口。ListenAddress设为0.0.0.0表示监听所有网卡,生产环境建议绑定具体内网 IP。密码部分只是占位,实际部署时要用强密码并妥善保管。writeDomain把配置写入指定目录,最后closeTemplate和exit结束脚本。
执行建域:
# 调用 WLST 执行建域脚本 $ORACLE_HOME/wlserver/common/bin/wlst.sh /tmp/create_domain.py参数说明:wlst.sh是 WLST 的启动脚本,后面跟脚本路径。执行过程中会输出建域日志,如果看到Domain created successfully就说明成功了。
4.3 启动管理服务器并验证
建域完成后,进入域的 bin 目录启动管理服务器:
# 进入域目录并启动管理服务器 cd /u01/app/oracle/domains/base_domain/bin ./startWebLogic.sh启动脚本会提示输入管理员用户名和密码,也可以提前在boot.properties里配置好,避免交互。启动完成后,用浏览器访问http://<服务器IP>:7001/console,能看到登录页面就说明 12.2.1.4.0 已经跑起来了。
注意:首次启动会比较慢,因为要初始化各种子系统。如果卡在某个阶段超过 5 分钟,检查日志
servers/AdminServer/logs/AdminServer.log,常见原因是 JDK 版本不匹配或端口被占用。
5. 避坑与排查:下载和安装 12.2.1.4.0 时最容易翻车的几件事
5.1 下载到“同名不同版”的安装包
现象:安装过程一切正常,但建域后启动管理服务器时报Unsupported major.minor version或者某些类找不到。原因:下载到的fmw_12.2.1.4.0_wls.jar可能是被重命名过的 12.2.1.3 安装包,或者是一个不完整的下载。解决:安装前务必校验 SHA256,并且用java -jar fmw_12.2.1.4.0_wls.jar -help查看安装器输出的版本信息,确认跟预期一致。
5.2 JDK 版本混用导致安装器启动失败
现象:执行java -jar时直接报错退出,提示Unable to access jarfile或者NoClassDefFoundError。原因:系统默认java指向了 JDK 11 或更高版本,而 12.2.1.4.0 的安装器只兼容 JDK 8。解决:显式用 JDK 8 的完整路径执行,或者临时设置JAVA_HOME和PATH。我一般会在安装脚本开头强制检查java -version输出,不匹配就直接退出。
5.3 响应文件里的 ORACLE_HOME 权限不足
现象:静默安装进行到一半报Permission denied,日志里提示无法写入 inventory 目录。原因:ORACLE_HOME或oraInst.loc指向的目录当前用户没有写权限。解决:提前用mkdir -p创建目录并chown给安装用户,或者把oraInst.loc放到/tmp下并确保可写。生产环境建议统一用专门的中间件用户来安装,不要用 root。
5.4 建域时模板路径写错
现象:WLST 执行readTemplate时报FileNotFoundException。原因:不同版本的 WebLogic 模板路径略有差异,12.2.1.4.0 的模板在wlserver/common/templates/wls/wls.jar,如果写成了wlserver/common/templates/wls/wls_generic.jar就会找不到。解决:先用find $ORACLE_HOME -name "wls.jar"确认实际路径,再写进脚本。
5.5 管理服务器启动后控制台无法访问
现象:startWebLogic.sh显示 RUNNING,但浏览器打不开控制台。原因:可能是防火墙没放行 7001 端口,或者ListenAddress绑定了127.0.0.1导致外部无法访问。解决:检查netstat -tlnp | grep 7001确认监听地址,如果是127.0.0.1,修改域配置里的ListenAddress为0.0.0.0或具体内网 IP,然后重启管理服务器。
6. 进阶技巧:把 12.2.1.4.0 的安装过程做成可复用的基线脚本
如果你需要频繁在多个环境里部署 12.2.1.4.0,手动一步步操作很容易漏掉参数。我一般会把整个流程封装成一个 bash 脚本,把下载校验、JDK 检查、静默安装、建域、启动验证串起来。下面是一个简化版的骨架:
#!/bin/bash set -e # 变量定义 WLS_JAR="/tmp/fmw_12.2.1.4.0_wls.jar" WLS_SHA256="预期的sha256值" ORACLE_HOME="/u01/app/oracle/middleware" DOMAIN_HOME="/u01/app/oracle/domains/base_domain" JAVA_HOME="/usr/java/jdk1.8.0_xxx" # 1. 校验安装包 echo "${WLS_SHA256} ${WLS_JAR}" | sha256sum -c - # 2. 检查 JDK 版本 $JAVA_HOME/bin/java -version 2>&1 | grep "1.8.0" || { echo "JDK版本不匹配"; exit 1; } # 3. 静默安装 $JAVA_HOME/bin/java -jar $WLS_JAR -silent -responseFile /tmp/wls.rsp -invPtrLoc /tmp/oraInst.loc # 4. 建域 $ORACLE_HOME/wlserver/common/bin/wlst.sh /tmp/create_domain.py # 5. 启动管理服务器并等待端口就绪 cd $DOMAIN_HOME/bin nohup ./startWebLogic.sh > /tmp/wls_start.log 2>&1 & for i in $(seq 1 30); do if netstat -tln | grep -q ":7001"; then echo "管理服务器已启动" exit 0 fi sleep 10 done echo "启动超时,请检查日志" exit 1逻辑说明:脚本开头用set -e让任何一步失败都立即退出,避免错误累积。sha256sum -c做完整性校验,grep "1.8.0"做 JDK 版本断言。安装和建域部分复用前面的响应文件和 WLST 脚本。最后用循环检测 7001 端口是否监听,最多等 300 秒。这个骨架可以根据实际环境调整路径和超时时间。
参数上最需要注意的是WLS_SHA256必须跟官方值完全一致,JAVA_HOME要指向真实的 JDK 8 目录。如果环境里有多个域,DOMAIN_HOME要区分开,避免覆盖。
我自己的习惯是:每次部署完,把实际使用的安装包哈希、JDK 版本、域配置里的关键参数记到一个文本文件里,跟域目录放在一起。下次再遇到“这个环境到底装的哪个版本”这种问题,翻一眼记录就能确认,不用去猜。中间件这东西,版本和补丁的对应关系一旦乱了,后面排查问题就是无底洞。希望帮到你。
本文还有配套的精品资源,点击获取