☰
WebLogic 12.2.1.4.0 Linux通用包安装实战:从JDK到静默部署
2026/10/16 11:22:57 网站建设 项目流程

简介:WebLogic 12c是Oracle出品的企业级Java应用服务器,本资源提供其12.2.1.4.0版本的Linux通用静默安装包,适合需要在Linux服务器上部署中间件环境的运维人员或Java开发工程师,可免去官网繁琐注册与筛选流程,直接获取已实测可用的安装介质。压缩包共2个文件,整体约826MB,其中jar文件为完整安装程序,html为官方说明文档,解压后即可核对版本与安装指引。目前已有700人学习/下载。安装包在JDK1.8环境下实测有效,且明确规避了JDK1.7、OpenJDK不兼容以及中文路径等常见坑点;对于要搭建WebLogic 12c生产或测试环境的读者,这份资源能帮助快速完成安装文件准备、版本确认和前置条件检查,减少因下载渠道分散或版本不符导致的部署失败。无论是企业生产环境还是本地开发验证,均可依托这份安装包快速完成WebLogic中间件的基础搭建。

1. WebLogic 12.2.1.4.0 Linux 通用包:为什么它比平台专版更好使

在 Linux 服务器上装 WebLogic,最折腾的不是安装过程,而是把安装介质找对。12.2.1.4.0 是 12c 这条线上最后一个适合本地机房的长效版本,官方下载站把中间件的十几个组件堆在一个商品页里,不熟悉的人很容易点错链接,下成数据库客户端或者别的补丁包。

这篇文章要拆的,就是 12.2.1.4.0 的 Linux 通用安装包(Generic Installer)。它不挑发行版,x86_64 架构的 RHEL、CentOS、Oracle Linux 都能装,适合在干净服务器上快速搭起中间层的人。下面把 JDK 准备、下载校验、静默安装、起域验证完整走一遍,涉及的参数和路径都能直接照着用。

2. 下载前要过三关:JDK 8、厂商账号和“通用”二字

2.1 JDK 8 是硬门槛:版本、位数和 JAVA_HOME 一个都不能错

12.2.1.4.0 的安装器本质上是一个可执行的 jar 包,运行它之前系统里必须先有 JDK 8。这里有两层硬约束,缺一个都会在安装阶段翻车。

第一层,大版本必须是 8,不能用 9、11、17 顶着上。安装器启动时会做类版本探测,JDK 9 以上的类文件版本它不认,直接抛Unsupported class file major version。第二层,必须是 64 位 JDK。32 位 JVM 在加载 native 库时抛出Unable to load native library,即使侥幸跳过安装器,后面 Node Manager 和受管服务器进程照样起不来。

我一般会在干净的服务器上先装 OpenJDK 8,统一放到 /opt/jdk1.8.0_2xx 这种固定路径,然后配 JAVA_HOME:

export JAVA_HOME=/opt/jdk1.8.0_2xx export PATH=$JAVA_HOME/bin:$PATH java -version

java -version的输出里要同时看到1.8.0_2xx和64-Bit Server VM才算环境合格。如果输出的是openjdk version "11",说明 PATH 里还有别的 Java 排在前面,把 JAVA_HOME 提到 PATH 最前,再用which java确认指向。这一步没抠死,后面java -jar启动安装器时不是闪退就是报版本错。顺手用uname -a确认系统是 x86_64,ARM 机器上装 x86 的通用包连启动安装器的机会都没有。

版本内的 update 建议选 JDK 8u211 之后的。早期 update 在特定 glibc 环境下有已知的时区数据和 TLS 问题,安装本身不受影响,但建成域之后 HTTPS 通道握手会莫名失败,属于事后很难查的暗坑。配置 JAVA_HOME 还有个常见误区:export 只对当前会话生效,关掉终端再开就变回原样。要么写进 ~/.bash_profile,要么每次安装前重新 source。习惯上我会把 JDK 路径固定成软链 /opt/jdk/current,升级 update 时只改软链指向,后面建域脚本的路径参数都不用动。

2.2 “通用”到底通用在哪:介质内容与平台专版的差别

官方下载中心里,12.2.1.4.0 以下通常挂着两类介质:一类标着 Generic,一类绑定具体操作系统。Generic 指的是不依赖发行版的纯 Java 安装包,文件名一般是fmw_12.2.1.4.0_wls_Disk1_1of1.zip,解压后是同名的fmw_12.2.1.4.0_wls.jar自解压安装器。

对比项Generic 通用包平台专用包
适用系统所有 x86_64 的 RHEL/CentOS/Oracle Linux 及兼容发行版绑定特定发行版或特定 glibc 版本
安装方式图形或静默均可相同
外部依赖只需 JDK 8可能额外要求特定系统库
适用场景公司机房、云主机、容器镜像基础层有明确 OS 认证清单的交付项目

我的经验是:在 CentOS 7、RHEL 7/8、Oracle Linux 7 这些最常见的服务器上,直接选 Generic 就好,不用纠结发行版匹配。云厂商的精简镜像经常缺图形库,Generic 配合静默安装反而更稳,全程不需要 X11。真正需要平台专用包的场景很少,除非交付清单明确要求按某个 OS 版本做认证。

下载页上有时同时挂着 12.2.1.3.0 和 12.2.1.4.0,文件名只差中段版本号,容易下错。我按交付需求来选:需要配合较新 JDK 8、想要更长支持窗口就选 12.2.1.4.0;历史系统升级场景则保留原版本,避免跨版本升级引发域兼容问题。下载时页面上的平台下拉框默认可能是 Windows,选到 Linux x86-64 之后文件名后缀才变成通用包样式,部分浏览器还会二次确认,等 zip 后缀稳定出现再放行。下载列表里如果同时有 zip 和 jar 两种封装,优先 zip,jar 直下的场景容易在浏览器里被当成普通文件处理。

2.3 下载前的账号与介质清单:别只记链接

下载页面的链接是受登录态保护的。厂商的软件交付站点要求注册账号、勾选许可协议之后,下载按钮才会出现。这一步没法绕,注册是免费的,但要留能收验证邮件的邮箱,验证邮件有有效期,超时得重新发。

动手前我把三样东西列成清单确认:账号能登录且接受许可、JDK 8 已就位、磁盘和内存够装。服务器建议至少 4GB 内存、10GB 可用磁盘,安装过程的临时解压和 inventory 都会额外占空间。路径规划上把安装目录放在 /u01 这类独立分区,避免和根分区抢空间。再创建一个专用系统用户,属组用 oinstall,后面打补丁也要用同一组权限:

groupadd oinstall useradd -g oinstall -d /home/wls wls mkdir -p /u01/app/oracle/product chown -R wls:oinstall /u01/app/oracle

目录属主弄对之后,下载、解压、安装都用这个用户执行,能少掉一半权限类报错。

3. 把安装包装起来:校验、静默安装与图形安装

3.1 先解压并校验 zip:哈希对不上就别往下走

下载下来的介质是一个 zip,体积接近 1GB。先不要急着解压,不要下到带中文或空格的路径,这类路径在部分版本的安装器里会导致 response file 读不到。放在 /data/setup 这种纯英文短路径最省事。

file fmw_12.2.1.4.0_wls_Disk1_1of1.zip sha256sum fmw_12.2.1.4.0_wls_Disk1_1of1.zip unzip -q fmw_12.2.1.4.0_wls_Disk1_1of1.zip -d /data/setup ls -lh /data/setup

file先确认下载物是不是真的 zip:输出Zip archive data就正常,如果输出HTML document,说明链接返回了一个错误页面,浏览器骗你下完了。接着sha256sum算出来的值要和下载页提供的校验码逐字符比对。跳过校验直接解压,最常见的翻车是解压到一半报unexpected end of file或 CRC 错误,基本是传输损坏,重新下载前先确认网络链路没做断流压缩。解压完成后,目录里会有fmw_12.2.1.4.0_wls.jar、README.txt和若干说明文档,安装用的是那个 jar。

3.2 静默安装:response file 关键项逐行解释

服务器不带图形界面,或者你想把安装写进自动化脚本,就走静默模式。先准备响应文件,我习惯放在安装介质同目录下:

[ENGINE] Response File Version=1.0.0.0.0 [GENERIC] ORACLE_HOME=/u01/app/oracle/product/fmw12.2.1.4.0 INSTALL_TYPE=WebLogic Server DECLINE_SECURITY_UPDATES=true SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

四个参数对应四种意图:ORACLE_HOME是将来存放安装文件的目录,要建在前面说过的 /u01/app/oracle/product 下;INSTALL_TYPE指定只装 WebLogic Server 核心,不把整个 Fusion Middleware 全家桶带进来;DECLINE_SECURITY_UPDATES=true表示不接收在线安全更新推送;SECURITY_UPDATES_VIA_MYORACLESUPPORT=false配合前一项关闭外部回连。后两项在离线内网是必须的,漏了DECLINE_SECURITY_UPDATES,安装器会在交互式确认处一直等待,日志长时间没有新输出,看起来像卡死。

然后调起安装器:

java -jar /data/setup/fmw_12.2.1.4.0_wls.jar \ -silent \ -responseFile /data/setup/wls_install.rsp \ -invPtrLoc /data/setup/oraInst.loc

-silent表示不要图形界面;-responseFile指向 rsp 文件;-invPtrLoc指向安装清单定位文件,内容两行:inventory_loc=/u01/app/oraInventory和inst_group=oinstall。这个文件缺失时安装器直接退出,报 Inventory 相关错误。

整个安装大概十几分钟,日志写到 /data/setup 下的InstallActions-*.log。装完在日志里搜SEVERE,没有就是成功。别忘了静默模式没有弹窗提示,日志就是唯一的结果反馈,Completed汇总段里能看到组件清单和最终路径。中途报错先看堆栈第一行,多数情况是 ORACLE_HOME 路径权限或 JDK 版本不满足。

3.3 图形安装与 X11 转发:什么时候值得开界面

如果你在带桌面的 Linux 上操作,或者能通过 ssh 的 X11 转发把窗口带出来,图形安装也值得跑一遍:

ssh -X wls@server java -jar /data/setup/fmw_12.2.1.4.0_wls.jar

图形界面的好处是实时校验,JDK 不对、磁盘不够、inventory 缺失都会在界面上标红,而不是等日志暴露。首次部署、想确认各配置项含义时,图形模式更友好。缺点同样明显:没法参数化复用,远程没开 X11 转发时窗口起不来,只能干瞪眼。

我的建议是:第一次在测试机跑图形模式熟悉流程,生产机直接上静默安装。两条路的产物一致,后续用 WLST 建域没有任何差别。

3.4 安装后的目录结构:搞清楚 Middleware Home 和 wlserver

装完先别急着建域,看一眼目录结构,后面所有路径都依赖它。ORACLE_HOME下的关键内容是wlserver子目录,里面是 WebLogic Server 本体,包括模板、脚本和 lib 库:

ls -l /u01/app/oracle/product/fmw12.2.1.4.0 du -sh /u01/app/oracle/product/fmw12.2.1.4.0/wlserver

fmw12.2.1.4.0这个目录就是中间件主目录,域、日志、应用要建在它之外的独立目录,避免和安装文件混在一起。wlserver/server/bin下放着setWLSEnv.sh环境脚本,wlserver/common/templates/wls/wls.jar是 WLST 建域用的基础模板,这两个路径下一章都会用到。目录体积一般在 2GB 上下,明显偏小就回头检查是不是解压不完整。装完顺手把日志里的最终路径记到本地部署备忘文件里,避免交接时凭记忆猜路径。

4. 安装期避坑排查:四个高发问题的现象与修法

4.1 现象:java -jar 启动安装器后闪退或直接黑窗

原因:默认 Java 不是 JDK 8,或者 JVM 堆内存分配失败。很多发行版自带 openjdk 11,安装器做类版本探测时直接抛UnsupportedClassVersionError;内存不足则表现为窗口出现后立刻消失,日志里只有一句Could not reserve enough space。

解决:先确认java -version是 1.8.0_2xx 且带64-Bit字样,再用环境变量把堆内存调大:

export USER_MEM_ARGS="-Xms512m -Xmx1g" java -jar /data/setup/fmw_12.2.1.4.0_wls.jar

这个变量对安装器 JVM 生效,问题通常马上消失。

4.2 现象:报 ORACLE_HOME 已存在或 Inventory 路径不对

原因:前者是目录里残留了上次安装的半成品,安装器不允许向非空目录覆盖写入;后者是-invPtrLoc指向的 oraInst.loc 不存在,或文件里的inventory_loc写到没权限的路径。

解决:处理残留目录分三步:改名备份、重建空目录、改回属主,inventory 目录同样处理:

mv /u01/app/oracle/product/fmw12.2.1.4.0 /u01/app/oracle/product/fmw12.2.1.4.0.bak mkdir -p /u01/app/oracle/product/fmw12.2.1.4.0 chown -R wls:oinstall /u01/app/oracle/product/fmw12.2.1.4.0 mkdir -p /u01/app/oraInventory chown -R wls:oinstall /u01/app/oraInventory

改完权限重新执行静默安装,报错位置会前移到下一个检查项。

4.3 现象:静默安装卡在 40% 左右,日志反复出现异常

原因:多半是系统临时目录空间不足。安装器会在 /tmp 解压临时文件,12.2.1.4.0 解压后体积接近 1GB,很多服务器的 /tmp 只有 2GB,系统日志一叠加就撑满,安装器假死。日志的特征是先出现 unzip 失败一类字样,然后进度不再增长。

解决:把临时目录指到大分区,同时用df -h /tmp确认空间:

df -h /tmp java -Djava.io.tmpdir=/data/tmp -jar /data/setup/fmw_12.2.1.4.0_wls.jar \ -silent -responseFile /data/setup/wls_install.rsp \ -invPtrLoc /data/setup/oraInst.loc

-Djava.io.tmpdir是 JVM 级参数,要放在-jar之前。改完再装,卡 40% 的坑基本消失。

4.4 现象:安装成功但 startWebLogic.sh 起不来,或报端口被占

原因:没加载环境脚本导致找不到 JDK,或者上一轮测试的 AdminServer 进程没退干净占着 7001。前者的报错特征在日志里是找不到 java 可执行文件;后者特征是Address already in use。

解决:每次起域前先加载环境,再检查端口和残留进程:

source /u01/app/oracle/product/fmw12.2.1.4.0/wlserver/server/bin/setWLSEnv.sh ss -lntp | grep 7001 /bin/ps -ef | grep AdminServer

source只对当前 shell 生效,写进 systemd 或启动脚本时要单独引用。端口被占就先 kill 残留进程再启动。如果服务器在云上,7001 还要检查安全组是否放行,本地 ss 有监听但远程 telnet 不通,十有八九是安全组只放行了 22 端口。内网调试阶段先用 curl 本机验证,确认就绪页 OK 再放开外网。

5. 装完就用 WLST 建出第一个域:验证命令与端口检查

安装器本身不建域,必须用配置向导或 WLST 生成。我每次装完新环境都直接走 WLST 离线脚本,比图形向导省事,参数还能固化进版本库:

readTemplate('/u01/app/oracle/product/fmw12.2.1.4.0/wlserver/common/templates/wls/wls.jar') cd('Servers/AdminServer') set('Name', 'AdminServer') set('ListenAddress', '0.0.0.0') set('ListenPort', 7001) cd('/Security/base_domain/User/weblogic') cmo.setPassword('welcome1') setOption('ServerStartMode', 'prod') writeDomain('/u01/app/oracle/domains/base_domain') closeTemplate() exit()

保存为 create_domain.py,用对应脚本执行:/u01/app/oracle/product/fmw12.2.1.4.0/wlserver/common/bin/wlst.sh create_domain.py。脚本里readTemplate读基础域模板,set('ListenPort', 7001)设管理端口,writeDomain把域写到独立目录。setPassword先设临时值,进生产前再改强口令,端口如果被内部约定占用,改这里一处就能整套迁移。建完后启动验证:

cd /u01/app/oracle/domains/base_domain nohup bin/startWebLogic.sh &

日志里看到Server state changed to RUNNING,再去检查端口和就绪页:ss -lntp | grep 7001有监听,curl -s http://127.0.0.1:7001/weblogic/ready返回OK,中间层才算真正对外可用。起不来时先看域目录下servers/AdminServer/AdminServer.out,所有启动异常都写在这里,比系统日志更直接。

从那以后我每次装 WebLogic 都强制走一遍这套流程:先核 JDK 位数,再校验 zip,静默安装,最后 WLST 建域加 curl 验证。顺序不乱,坑就少一大半。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询