
做中间件运维的朋友应该都有体会WebLogic这东西你说难装吧Oracle把安装向导做得很傻瓜化你说简单吧换成Linux环境、尤其是一台没有桌面的服务器很多人第一步就卡在“图形化界面”上。我自己装过很多次版本从11g一路走到14c要说最省心的反而是把手头机器配好桌面或X转发跑图形化向导来装WebLogic 14.1.2.0——可以边装边核对每一步顺带把JDK、安装目录、域模板这些关键信息一次性确认清楚。这篇文章就完整记录我在Linux图形化界面下安装WebLogic 14.1.2.0的过程把环境准备、安装包选择、向导步骤、建域启动、常见报错一次性讲透。适合刚接手中间件的新人也适合要在测试环境快速复现一套WebLogic的人参考。1. 安装前的环境与前置准备1.1 WebLogic 14.1.2.0版本定位选对安装包比啥都重要WebLogic Server 14.1.2.0属于Oracle Fusion Middleware 14c序列官方版本号全称是14.1.2.0.0。相比老牌的12c它在JDK支持、Jakarta EE规范、管理控制台体验这些方面都有明显更新默认跑在JDK 17上对云原生部署、容器化改造的适配也更好。如果手里是一个从零开始的中间件项目现在直接上新版本是合理选择毕竟12c那套用久了迁移成本只会越拖越高。安装包这里要特别提醒WebLogic在Linux下的安装文件统一是jar包格式常见的有几类。一是Generic安装包文件名类似fmw_14.1.2.0.0_wls_lite_generic.jar这是纯WebLogic Server精简版体积适中不含Infrastructure的一些组件日常部署应用完全够用。二是Infrastructure完整安装包会带上Coherence、JRF等更多组件适合要跟Fusion Middleware其他套件对接的场景文件更大、安装更慢。还有Quick Installer那种小包适合无界面快速部署但它本身不是为了图形化向导准备的。下载的时候一定要核对文件名里的14.1.2.0、wls_lite、generic这些关键字。我之前见过有人拿12c的jar文件装14c界面刚起来就让更新最后版本对不上白白折腾一晚上。Oracle官网下载需要登录账号生产环境记得确认订阅和授权范围内允许的版本。1.2 JDK 17与基础依赖先认清环境再动手WebLogic 14.1.2.0对JDK版本的要求是17这是硬性门槛。JDK 8、JDK 11在这里都不能用安装向导会自动检测并报“The version of the JDK being used is not supported”。所以我一般建议在准备阶段就把JDK装好推荐Temurin 17或者Oracle JDK 17OpenJDK发行版也没问题关键是版本号对齐。进入Linux之后先做一轮体检java -version which java echo $JAVA_HOME如果java -version输出的是17或者其他版本心里就有数了。JAVA_HOME最好也显式配置到/etc/profile或者用户级~/.bashrc不然后面启动安装程序时Oracle的脚本会到处找Java特别容易因为PATH优先级问题跑到一个错误版本。图形化安装还需要X11相关的依赖库。最小化安装的Linux服务器往往没有这些库启动jar时界面根本弹不出来或者弹出来全是乱码。提前装好yum install -y libXext libXrender libXtst libXi libxinerama如果是Debian系用apt-get install -y libxext6 libxrender1 libxtst6 libxi6 libxinerama1这些库体积不大但少了任何一个都可能导致安装界面起不来。我自己的习惯是只要打算跑图形化安装先把xterm、xclock这类基础X客户端装上能用它们测出DISPLAY正常再运行WebLogic安装程序排查问题会简单很多。1.3 用户、目录和显示环境三条线都别缺WebLogic安装强烈不建议用root用户直接跑。Oracle官方文档也建议创建一个普通用户比如weblogic或者oracle这样安装出来的目录权限更干净后面启停服务也更安全。如果非要root装后面无论是Nodemanager还是受管服务器都会有权限上的坑。我通常这样初始化useradd weblogic mkdir -p /u01/app/oracle/product chown -R weblogic:weblogic /u01 su - weblogic目录规划方面可以把ORACLE_HOME放在/u01/app/oracle/product/14.1.2.0/wls后面域目录默认在$ORACLE_HOME/user_projects/domains。磁盘空间建议预留至少10GB单纯安装包解压不算大但后面域建多了、补丁打了、日志长了空间会涨得很快。然后是图形显示环境。有三种常见方式机器本身安装了GNOME/KDE桌面直接本地操作最简单。机器没有桌面但能访问物理控制台可以临时起一个X会话。远程环境最常见的是用VNC、Xmanager或者MobaXterm做X11转发。不管哪种方式关键就是DISPLAY环境变量要指对位置。比如本机桌面场景export DISPLAY:0.0如果是Windows上的Xmanager转发通常DISPLAY要指向Windows主机的IP地址比如export DISPLAY192.168.1.100:0.0这里有个很容易踩的坑Linux服务器上的认证可能拒绝来自其他主机的X连接。需要在本机的SSH配置里打开X11Forwarding或者临时用xhost 放开访问限制。但这个命令只适合测试环境生产环境不建议随便放开X认证。2. 图形化安装全程实录2.1 启动图形安装程序先搞定DISPLAY再java -jar安装包上传到服务器后我习惯放到一个专用的软件目录比如/u01/software不要直接扔在用户根目录下找半天。然后切换到weblogic用户设置好JAVA环境su - weblogic export JAVA_HOME/usr/local/jdk-17.0.10 export PATH$JAVA_HOME/bin:$PATH export DISPLAY:0.0 cd /u01/software java -jar fmw_14.1.2.0.0_wls_lite_generic.jar正常情况下几秒钟后Linux桌面或X转发窗口里会出现WebLogic安装欢迎页。如果半天没反应先判断是不是DISPLAY的问题终端会提示类似Unable to open display :0.0或者java.awt.AWTError: Cant connect to X11 window server看到这种提示说明图形通道没打通别急着重装先检查echo $DISPLAY再确认xhost权限。这一步是最容易卡住的地方但也是最容易解决的。2.2 向导关键节点逐项拆解每一步别急着“下一步”安装向导虽然是一路“Next”但有几个界面需要认真看。欢迎页出现后第一个选择是是否配置自动更新。如果服务器能联网Oracle会检查补丁更新但这个环节一方面会拖慢安装另一方面生产内网环境往往根本访问不到外部更新源。我一般直接选“Skip Software Updates”等装完之后再规划补丁策略。接下来是选择安装目录。默认值通常是/u01/app/oracle/product/14.1.2.0/wls如果你之前规划过目录结构可以在这里修改。注意这个目录一旦装了组件后期不太好挪一定要提前想清楚。安装类型界面会看到“Typical Installation”和“Custom Installation”两个选项。典型安装适合大多数场景会把WebLogic Server核心组件和基础模板装好。自定义安装可以细选Coherence、JRF等附加组件但如果你用的是wls_lite包很多高级组件本来就不在包内可选项有限。我个人的判断标准很简单只是跑业务应用、建管理域选典型要跟其他Oracle中间件套件联动选自定义并逐一核对组件清单。JDK选择界面向导会自动检测环境变量里的Java版本。如果检测出来不是17一定要点“Browse”去手动定位JDK 17的主目录。很多人栽在这系统里装了多个JDK环境变量PATH指到旧版本程序却用新版本启动最后安装日志显示一堆class版本错误。然后就是安装摘要。这里会列出ORACLE_HOME、安装组件、占用空间。我每次都会截个图或者抄到笔记里后续查问题、打补丁都用得上。确认没问题点Install安装进度条开始走这个时候才真正进入等待期。2.3 安装进度里的真实等待别以为卡死了图形化安装过程中进度条走到一半不动是高频现象。常见的真实原因是磁盘IO或者内存不足而不是程序死了。这时候切换到一个终端用top、free -h、df -h看看资源情况。安装程序本身不算特别吃内存但如果机器只有1~2GB内存又跑着桌面环境很容易触发OOM。如果进度条长时间不动可以打开安装日志看明细。日志位置一般在临时目录下的oraInstall_*.log或者在ORACLE_HOME的cfgtoollogs目录里。看到日志还在不断追加内容就说明程序还活着只是进度刷新慢。整个安装过程我实测通常在5到15分钟之间取决于磁盘速度和机器性能。等进度条走完会有一个“Installation Complete”界面。点Finish之前建议把安装摘要里列出的ORACLE_HOME、JDK路径再拍一下。Finish之后图形化安装阶段就算结束了接下来要面对的是更关键的问题建域。3. 建域、启动与验证3.1 用配置向导创建基础域图形化建域最直观安装完成之后很多人以为就能直接启动Server了其实不是。WebLogic Server本体相当于引擎你必须先创建一个Domain域它才是一个可以启动的中间件实例。建域也有图形化工具路径在$ORACLE_HOME/oracle_common/common/bin/config.sh执行前还是先确认DISPLAY然后运行cd $ORACLE_HOME/oracle_common/common/bin ./config.sh这里会进入“Configuration Wizard”。第一步选择创建新域Create a New Domain第二步选模板列表里能看到“Basic WebLogic Server Domain”模板。如果装了Infrastructure包还会多出一些JRF相关模板。对绝大多数应用场景选基础模板就行其他模板等确需要再勾别把域做得过重。接着是位置和身份信息。域目录我习惯放在$ORACLE_HOME/user_projects/domains/base_domain。管理员账号默认提示weblogic密码必须满足复杂规则至少8位包含数字和字母。建域密码一定不能用默认的而且要用密码管理器记牢这个密码是以后进Console、连Nodemanager都要用的。再往下是“Administration Server”配置。监听地址可以设成服务器的实际IP也可以设成0.0.0.0表示监听所有网卡端口默认7001。如果这台机器后面要配防火墙白名单监听地址用具体IP会更可控。接下来是开发模式和生产模式的选择。开发模式会自动启用演示证书、允许自动部署适合测试生产模式会更严格地处理SSL证书和部署权限。如果只是学习或者联调选开发模式没问题。最后一步是JDK选择会列出系统现有的JDK确认选到JDK 17之后点Create。建域过程很快十几秒就完成窗口底部会显示“Domain Created Successfully”。这样才算真正有了一个能启动的管理服务器。3.2 启动AdminServer并验证Console装完必须走一遍这个流程域建好之后启动管理服务器是验证安装是否成功的黄金标准。启动脚本在cd $ORACLE_HOME/user_projects/domains/base_domain/bin ./startWebLogic.sh首次启动会花点时间日志会不断输出到终端。看到类似这样的关键行Server state changed to RUNNING说明AdminServer已经起来了。我一般不开终端直接挂后台更推荐这样nohup ./startWebLogic.sh $ORACLE_HOME/user_projects/domains/base_domain/startup.log 21 然后浏览器访问http://服务器IP:7001/console用建域时设置的weblogic账号密码登录能看到管理控制台首页整个安装链路就验证打通了。需要注意的是服务器防火墙如果没放行7001端口本地浏览器可能一直转圈。用curl在服务器本地先测curl -I http://localhost:7001/console如果本地有响应基本就是防火墙的锅排查firewalld或者安全组规则。3.3 安装目录结构与日常管理要点先别急着部署业务装完建完域之后我习惯把几个重要目录记下来因为后面做托管服务器、打补丁、写启停脚本都会用到$ORACLE_HOME/wlserverWebLogic Server核心安装目录脚本、lib、服务端二进制都在这里。$ORACLE_HOME/oracle_commonOracle Fusion Middleware公共组件目录config.sh、wlst等工具在这里。$DOMAIN_HOME域目录包含bin、config、servers等子目录。$DOMAIN_HOME/servers/AdminServer管理服务器实例产生的日志、tmp、data都在这。如果想让WebLogic作为系统服务常驻可以写一个Systemd unit文件把startWebLogic.sh交给systemd管理比较简单但要注意启动用户必须写成weblogic而且设置User和Group避免用root拉起整个中间件进程。4. 图形化安装问题排查与心得4.1 服务器没有桌面环境怎么把图形化界面跑起来这是问得最多的问题。生产Linux服务器大多不带桌面但图形化安装不是非要物理桌面不可。我常用两个思路思路一SSH X11转发。Windows端用Xshell、MobaXterm或PuTTY配合Xming勾选X11转发然后在服务器上确认会话内DISPLAY已被自动设置。运行xclock能弹出窗口再启动安装程序基本就没问题。思路二VNC。如果不想依赖SSH转发可以在服务器上装tigervnc-server启动一个虚拟桌面再用VNC客户端连上去。VNC的好处是后续多次操作都在这一个桌面里进行装WebLogic、建域、查看控制台都能搞定。Netty 无关。回到正题如果老是提示连不上显示就先跑xhost 来放开X访问权限确认能显示后再卸掉这个限制。这只是应急手段别在生产上长期开着。4.2 root用户、内存和JDK版本三类问题最容易翻车root用户安装的问题我之前已经强调了。有些朋友图省事直接root跑结果WebLogic安装程序可能不会强制拦截但建域或启动阶段总是报权限错误。而且用root部署应用可能让应用进程拥有过高权限这不是一个中间件应有的姿态。解决办法就是老老实实建weblogic用户。内存问题也是高频。安装程序界面上没提示但在config.sh建域或者启动AdminServer时可能报Not enough memory to start the server这种通常出现在机器只有1GB内存的测试机上。建议至少2GB物理内存再加2GB swap。启动脚本里也可以通过USER_MEM_ARGS调整JVM堆大小但别盲目调大内存不够时调大反而会起不来。JDK版本问题前面说过但我要再强调14.1.2.0只认JDK 17。报错里出现UnsupportedClassVersionError或直接提示JDK不支持十有八九是环境变量里的Java不是17。先确认java -version如果输出不是17就改JAVA_HOME和PATH再重新启动安装程序或config.sh。4.3 中文乱码和字体缺失界面全变方块怎么处理国产桌面Linux和部分中文本地化的Linux发行版上安装界面有时会出现中文乱码或者一堆方框这不是WebLogic的问题是JVM找不到中文字体。处理方式很简单要么把环境切成英文环境export LANGen_US.UTF-8重新运行java -jar或config.sh界面就变成英文了。要么安装字体包yum install -y fontconfig dejavu-sans-fonts安装中文字体后中文界面大概率也能正常渲染。我自己的习惯是安装阶段统一用英文界面安装完成后再根据现场需要调整语言这样能少很多字体相关的幺蛾子。4.4 常见问题速查表直接对着查症状可能原因处理方式运行jar后无任何图形界面DISPLAY未设置或X认证失败echo $DISPLAY使用VNC或SSH X11转发必要时xhost 临时放开提示JDK版本不支持环境变量指向的Java不是17安装JDK 17重新设置JAVA_HOME和PATH安装进度条长时间不动磁盘IO慢、内存不足查看oraInstall_*.log用free -h和df -h检查资源root启动时提示权限问题中间件进程用root运行创建weblogic用户重设目录归属建域密码不通过未达到密码复杂度规则改成至少8位字母数字混合7001端口无法访问防火墙未放行或AdminServer未启动netstat -tlnp检查端口查看AdminServer.logConsole登录后界面JS不刷新浏览器缓存旧版本控制台资源清缓存换Chrome/Edge无痕窗口启动服务报OutOfMemoryError服务器内存不足或JVM参数过大增加Linux物理内存或swap调小JVM堆参数这张表是我排障时使用率最高的东西很多问题看着复杂本质就是环境变量、权限、资源这三板斧。图形化安装的最大价值恰恰是让你把这些问题暴露在安装阶段总比等建好域再回头查环境强。最后再分享一个我自己的习惯每次装完我都会把JDK路径、ORACLE_HOME、域路径、AdminServer端口、日志位置这五个关键信息写到一张小抄上放进项目的交接文档里。后面不管是扩管理服务器、打补丁还是做环境迁移这张小抄都能省很多时间。图形化安装适合单台验证如果以后碰到二三十台机器批量装我建议还是用响应文件做静默安装但在那之前用图形化把安装流程走通一遍会让你对WebLogic的目录和概念有更直观的理解。有了这个底子再去看静默安装参数几乎不用背就能写出来。