
简介针对 WAS 8.5 在 Linux/Unix 环境下的无人值守部署需求这份 1 个 DOCX 文档压缩包大小 144KB系统梳理了静默安装与补丁升级的完整操作路径。面向 WebSphere 中间件运维人员、系统集成工程师及需要批量构建应用服务器的团队内容从安装包准备、目录结构规划讲起覆盖 Installation Manager 静默安装、获取小版本号、修改 repository.config、执行安装命令再到创建管理概要与应用概要、启动 Web 管理控制台、添加节点并启动 Node/Server 等关键环节每一步都说明了操作目的与先后关系。补丁部分专门介绍 WAS 补丁的静默安装方式并额外列出静默卸载流程便于全生命周期管理。文档还附带安装介质与补丁包的百度网盘获取链接可避免四处寻找版本资源。该文档已获得 1640 人学习下载适合作为生产环境中标准化部署 WAS 8.5 的参考手册。1. WAS 8.5 静默安装为什么命令行比图形界面更值得折腾如果你维护过超过三台 Linux 上的 WebSphere 环境应该能体会在图形安装向导里点下一步点到手抽筋的感觉。WAS 8.5 静默安装的价值不在省那十几分钟而在于它能让你用同一套命令、同一份 repository.config在几台服务器上复现出一模一样的安装结果顺便把安装参数写进变更记录。这里说的静默不是简单的不弹窗而是把安装、建概要、打补丁、配节点整个生命周期都纳入命令行管控。这篇文章基于一份完整的 WAS 8.5 静默安装与升级补丁操作文档来拆解把从 Installation Manager 安装到补丁升级、再到静默卸载的每一步命令、参数含义和常见翻车点都过一遍。适合刚接手 WAS 环境、需要批量部署应用节点的新手也适合想统一安装规范、减少人工操作误差的运维老手。先说结论这套流程里 80% 的坑不在安装命令本身而在目录规划、repository 配置和主机名处理上。2. Installation Manager 与介质准备目录规划、解压校验和 repository.config 的坑2.1 安装包分类与目录结构设计WAS 8.5 静默安装涉及四类安装包分别是 Installation Manager 安装包、WAS 应用服务器介质包、supplements 补充介质包含 IBM HTTP Server、插件和 toolbox以及 WAS 补丁包。文档里给了一套清晰的目录约定IM 安装包放/opt/was8.5/agentWAS_ND 安装包放/opt/was8.5/wassource补丁包放/opt/was8.5/wasupdate。这套划分不是随手写的它对应了后续三条不同的 imcl 命令路径。agent目录只存放 IM 安装器安装完后 IM 本体落在/opt/IMS/eclipse不参与 WAS 安装介质的 repository 扫描wassource目录是 WAS 安装的主 repositorywasupdate目录单独存补丁避免补丁包混入安装介质导致listAvailablePackages列出过多样式。有一点文档里特别标注了WAS_ND 的介质包是分卷压缩的文件名形如WAS_ND_V8.5.5_?_OF_3.zip必须把全部卷解压到同一个目录下。分卷包如果只解压第一个文件install 命令会报找不到安装包实体的错误。2.2 解压命令与安装目录校验解压阶段我一般会加上-n参数避免重复解压时覆盖已有文件产生不一致mkdir -p /opt/was8.5/{agent,wassource,wasupdate} cd /opt/was8.5/agent unzip -n agent.installer.linux.gtk.x86_64_1.8.5000.20160506_1125.zip cd /opt/was8.5/wassource unzip -n WAS_ND_V8.5.5_1_OF_3.zip unzip -n WAS_ND_V8.5.5_2_OF_3.zip unzip -n WAS_ND_V8.5.5_3_OF_3.zip cd /opt/was8.5/wasupdate unzip -n 8.5.5-WS-WAS-FP013-part1.zip unzip -n 8.5.5-WS-WAS-FP013-part2.zip解压完成后建议用du -sh看一眼介质包体积WAS_ND 三个卷解压后一般在 1GB 以上补丁包解压后也会有数百 MB。如果体积明显偏小大概率是分卷没解全或者下载时文件损坏这时候直接往下走会在 install 阶段才报错浪费更多时间。2.3 Installation Manager 安装与命令路径IM 的安装命令很简单cd /opt/was8.5/agent ./installc -installationDirectory /opt/IMS/eclipse -acceptLicense注意这里的可执行文件是installc不是install也不是imcl。installc是 IM 安装器本身的启动程序imcl是 IM 装好后在/opt/IMS/eclipse/tools下的命令行工具两者用途完全不同。文档里刻意区分了这两个命令实际运维中确实会看到有人在安装 IM 阶段就敲imcl结果报 command not found。安装完成后IM 的工具集集中在/opt/IMS/eclipse/tools目录后续所有静默安装、升级、卸载操作都在这个路径下执行。建议把这个路径写进变更文档避免在多台服务器上操作时找错目录。2.4 repository.config 的配置门道WAS 安装阶段的核心配置全在这一个文件里路径是/opt/was8.5/wassource/repository.config。文档给出的配置块如下-OPT silentInstallLicenseAcceptancetrue -OPT allowNonRootSilentInstalltrue -OPT disableOSPrereqCheckingtrue -OPT installTypeinstallNew -OPT featurenoFeature -OPT installLocation/opt/IBM/WebSphere/AppServer -OPT profileTypenone -OPT PROF_enableAdminSecurityfalse这八个参数的顺序是有讲究的。silentInstallLicenseAcceptance必须为 true否则静默安装会因为不接受许可直接中断allowNonRootSilentInstall允许非 root 用户执行安装但要注意实际执行安装的账号必须对 installLocation 目录有写权限disableOSPrereqChecking跳过系统前置检查这适合在已经确认过内核版本、依赖库都满足要求的情况下使用不建议无脑打开installTypeinstallNew指定全新安装而不是升级featurenoFeature不安装示例应用减少安装体积。最值得留意的是最后两项profileTypenone让安装程序跳过概要创建PROF_enableAdminSecurityfalse不让安装器顺带启动管理安全配置。这两项组合起来的效果是WAS 核心二进制装完后不自动建概要、不设置 admin 账号概要创建和安全配置全部交给后续的manageprofiles.sh和 Web 控制台完成。如果在这里把安全开启了后面 addNode 注册节点时会额外多一层认证拦截排错成本会明显增大。3. WAS 8.5 核心静默安装小版本号获取与 imcl install 实战3.1 listAvailablePackages 获取精确小版本号IM 的 install 命令要求传一个精确的安装包 ID这个 ID 不是手写出来的而是通过仓库扫描得到的。在/opt/IMS/eclipse/tools下执行cd /opt/IMS/eclipse/tools ./imcl listAvailablePackages -repositories /opt/was8.5/wassource/repository.config执行后输出里会出现形如com.ibm.websphere.ND.v85_8.5.5000.20130514_1044的包 ID。这段字符的含义是com.ibm.websphere.ND.v85是产品标识8.5.5000是大版本20130514_1044是具体的构建时间戳这个时间戳其实就是小版本号。这里有个实际会遇到的问题如果listAvailablePackages输出为空先检查 repository.config 文件的内容是否正确指向了仓库根目录再检查介质包是否解压完整。有些分卷介质包解压后repository.config 文件没有自动生成需要手动确认。3.2 imcl install 命令参数分解拿到包 ID 后执行安装cd /opt/IMS/eclipse/tools ./imcl install com.ibm.websphere.ND.v85_8.5.5000.20130514_1044 \ -repositories /opt/was8.5/wassource/repository.config \ -installationDirectory /opt/IBM/WebSphere/AppServer \ -sharedResourcesDirectory /opt/IBM/IMShared \ -acceptLicense-installationDirectory是 WAS 的核心安装路径后续所有概要文件、bin 目录都挂在这下面-sharedResourcesDirectory是 IM 共享资源目录补丁也使用这个目录存储临时文件。两个目录建议不要放在同一分区下的同一父目录实际部署中遇到过/opt/IBM目录空间不足导致安装中断的情况最好提前用df -h确认。安装过程会持续十到二十分钟不等取决于服务器磁盘性能和介质包是否在本地。安装完成后验证一下目录ls -ld /opt/IBM/WebSphere/AppServer/bin /opt/IBM/WebSphere/AppServer/bin/versionInfo.shversionInfo.sh输出的 Version 行会显示8.5.5000.20130514这样的初始版本号后续打补丁前后对比这个输出就能确认补丁是否生效。3.3 安装失败的常见日志位置静默安装最大的痛点是没有图形界面输出安装失败时只能靠日志定位。IM 的日志集中在/opt/IMS/eclipse/logs目录安装记录是里面的install.xml和install.log。这两个文件记录了每一步的细节包括选定的安装包、参数解析结果和实际安装时长。我最常遇到的一个问题是 repository.config 里的-OPT参数被误写成了-optionIM 不会立刻报错而是直接忽略最终安装出来的 WAS 没有禁用示例应用也没有跳到 profileType 设置。所以日志里如果发现某个参数缺失优先检查参数名的大小写和格式。4. 概要文件与节点接入Dmgr、AppSvr、addNode 三步部署4.1 管理概要的创建与 hostname 的隐藏坑WAS 装完后只是一堆二进制文件真正对外提供服务要靠概要文件。主服务器上创建管理概要的命令如下cd /opt/IBM/WebSphere/AppServer/bin ./manageprofiles.sh -create \ -profileName Dmgr01 \ -profilePath /opt/IBM/WebSphere/AppServer/profiles/Dmgr01 \ -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/dmgr \ -hostname 主服务器的主机名这里的-hostname参数是文档里专门标注过的重点。搭建多主机集群时Deployment Manager 的主机名会被写入各类配置引用中如果这里用默认值或者留空后续节点注册会出现主机名解析不匹配的问题addNode 会直接失败。我一般会先在/etc/hosts里把主备服务器的 IP 和主机名都配好再用hostname命令确认当前主机名与配置一致。profileTemplates/dmgr模板路径和default模板路径不能混用。dmgr 模板生成的是管理节点概要default 模板生成的是应用节点概要混用会导致概要启动时报模板类型不匹配。4.2 应用概要创建与节点命名cd /opt/IBM/WebSphere/AppServer/bin ./manageprofiles.sh -create \ -profileName AppSvr01 \ -profilePath /opt/IBM/WebSphere/AppServer/profiles/AppSvr01 \ -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/default \ -hostName 主服务器的主机名 \ -nodeName 自定义节点名 \ -serverName 自定义服务名-nodeName和-serverName如果不指定会产生一串很难识别的自动生成名。多服务器场景下我习惯把节点名命名成能体现机房和业务的形式这能在控制台里一眼看出节点对应关系。注意这里主服务器上的应用概要也要显式指定-hostName文档里特别指出从服务器创建应用概要时 hostname 也要显式指定。从服务器与主服务器的差异在于从服务器不需要创建管理概要只创建应用概要即可。集群中几台服务器的 hostname 不能相同才能保证 WAS 内部各种引用不出问题。4.3 启动管理控制台与节点注册管理概要创建完后/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh启动后访问http://IP:9060/ibm/console验证管理台是否可用。这里文档里提到要先关闭防火墙实际生产环境如果是内网可以做端口放行而不是全部关闭。节点注册的核心命令是 addNodecd /opt/IBM/WebSphere/AppServer/profiles/AppSvr01/bin ./addNode.sh 10.0.90.22 8879 -username admin -password admin8879是 Deployment Manager 的 SOAP 端口不是控制台的 9060 端口这两个端口容易记混。addNode 执行时会把应用概要里的配置信息推送到 Dmgr 的配置仓库中执行成功后控制台的服务器列表里会出现对应节点。4.4 节点与应用的启动顺序新注册的节点需要手动启动节点进程和服务实例/opt/IBM/WebSphere/AppServer/profiles/AppSvr01/bin/startNode.sh /opt/IBM/WebSphere/AppServer/profiles/AppSvr01/bin/startServer.sh server1启动顺序是先 node 后 server顺序错了 server 会找不到节点运行时。如果是在从服务器上操作addNode 成功后同样执行这两个命令。5. WAS 常见翻车现场防火墙、hostname、补丁失败的 5 条踩坑记录5.1 节点注册报连接拒绝防火墙现象在主服务器上startManager.sh启动成功控制台访问正常但从服务器执行addNode.sh时报连接被拒绝。原因Dmgr 的 8879 端口对外不可达。最常见的是 iptables 没关或者只放行了 9060 端口忽略了 8879 和节点间通信的 2809RMI端口。如果节点还需要接收应用流量也要确认应用端口没有被防火墙拦截。解决最省事的做法是关闭防火墙如果安全要求严格放行 8879、2809 和 Web 控制台端口。5.2 hostname 不一致导致节点注册失败现象addNode.sh执行到一半报节点信息无法同步到 Dmgr或者注册成功后节点状态一直显示无法联系。原因创建概要时-hostName参数与主服务器实际的 hostname 不一致或者/etc/hosts里没有对应解析记录。主服务器和从服务器之间互相解析不了主机名节点心跳就会失败。解决在每台服务器的/etc/hosts中补全所有节点的 IP 和主机名映射创建概要前用hostname命令核对当前值与参数值一致。如果已经建错了直接删掉概要重建比修改配置更快。5.3 补丁安装报无法找到存储库现象在/opt/was8.5/wasupdate目录解压补丁包后执行imcl updateAll报找不到可用的更新包。原因补丁包的 repository.config 没有被正确识别。WAS 补丁包解压后的目录结构与安装介质不同有时候 updateAll 命令不会自动加载补丁目录的 repository需要手动指定。解决执行imcl updateAll前先运行listAvailablePackages确认补丁目录下的包是否可见。不可见时检查补丁包是否解压到了绝对路径、目录名是否有中文字符或空格必要时手动指定补丁包的 repository.config 路径。5.4 静默安装日志中参数被忽略现象安装完成后发现 WAS 带上了示例应用说明featurenoFeature没有生效。原因repository.config 里参数名拼写错误比如把installType写成installtypeIM 对这类错误不会报错而是静默忽略。解决安装完成后不要急着建概要先检查日志确认关键参数都被解析到特别是disableOSPrereqChecking、installType这类影响安装行为的参数。5.5 静默卸载后目录残留现象执行imcl uninstall卸载完成后/opt/IBM/WebSphere/AppServer目录还存在里面还有大量配置文件。原因imcl uninstall只卸载 WAS 二进制文件不删除 profiles 目录和共享资源目录这是 WebSphere 的一种安全机制防止误删业务配置。解决卸载后手动删除残留目录前先备份需要的配置。我一般会先执行卸载确认 WAS 已经无法启动再删除 profiles 目录。6. 补丁升级、静默卸载与安装后的验证三板斧6.1 updateAll 打补丁与版本验证WAS 补丁包使用 updateAll 命令统一安装cd /opt/IMS/eclipse/tools ./imcl updateAll \ -repositories /opt/was8.5/wasupdate/repository.config \ -installationDirectory /opt/IBM/WebSphere/AppServer \ -acceptLicense执行完成后用versionInfo.sh确认补丁版本号。输出信息中 Version 项如果从8.5.5000.20130514_1044变成了8.5.5013.20160506_1125对应的补丁号说明补丁已经生效。补丁安装后建议重启一次 Dmgr 和所有节点让补丁完全加载到运行环境里。6.2 静默卸载的准确包 IDcd /opt/IMS/eclipse/tools ./imcl uninstall com.ibm.websphere.ND.v85_8.5.5000.20130514_1044 \ -installationDirectory /opt/IBM/WebSphere/AppServer卸载命令同样需要传包 ID而这个 ID 是初始安装时的小版本号。如果安装后打过多次补丁卸载时传的仍然是安装时的初始 ID不需要传补丁后的版本号。这是我实际操作中容易忽略的地方可以先运行imcl listInstalledPackages查看当前已安装的包 ID 再执行卸载。6.3 安装后的三层验证法我每次安装完一套环境都会走一遍三层验证能省去后续集群配置排查的大半时间。第一层是端口检查用netstat -an | grep -E 9060|8879|2809确认控制台端口、SOAP 端口和应用端口都在监听第二层是进程检查用ps -ef | grep java看 Dmgr、nodeagent 和 server 是否各就各位第三层是日志检查直接看/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs下的启动日志有没有异常堆栈。这套流程走完包括补丁升级在内一台主服务器加两台从服务器的完整环境大概四十分钟就能交付。从那以后我每次搭 WAS 环境都强制走一遍这套命令序列不凭感觉跳步骤也把 repository.config 和 addNode 的 hostname 检查当作固定动作。希望帮到你。本文还有配套的精品资源点击获取