本文档基于泛微官方升级操作流程整理,补充了生产环境的最佳实践。checksec20250924.jsp 对应 2025-09-24 发布的安全包,后续如出现新版本,文件名中的日期会变,请同步替换。

1. 用 Xshell 远程连接应用服务器

打开 Xshell,新建会话并连接 OA 应用服务器(生产环境建议使用密钥登录,关闭密码登录)。

Xshell 远程连接应用服务器

2. 进入 Resin bin 目录

进入 /weaver/Resin/bin 目录(以贵司 Resin 目录实际路径为准),查看该目录下的内容。

cd /usr/weaver/Resin/bin
ll

可看到 startresin.shstopresin.sh 等启动/停止服务的脚本文件。

Resin bin 目录文件列表

3. 停止 Resin 服务

./stopresin.sh

执行后建议验证进程是否已退出:

ps -ef | grep -i resin | grep -v grep

如未退干净,可 kill -9 <PID> 兜底,但要先确认不是误杀系统进程。

停止 Resin 服务

4. 用 Xftp 连接应用服务器,找到 weaver 文件夹

使用 Xftp 登录到应用服务器,定位到 weaver 目录(本例为 /usr/weaver)。

远程目录结构示例:

/usr/weaver/
├── ecology/         # OA 主程序目录,本次升级覆盖此目录
├── jdk1.8.0_151/
├── Resin4/          # Resin 容器目录
├── monitor3/
└── ...

Xftp 中定位 weaver 目录

5. 传输 ecology 文件

方式 A:Xftp 图形界面(推荐)

在 Xftp 左侧(本机)选中 ecology 文件夹 → 右键 → 传输(T)

Xftp 传输 ecology 文件

等待传输完成。传输过程中可观察传输速率和已传输文件数。

传输完成状态

方式 B:unzip 命令行(无 GUI 场景)

cd /usr/weaver
unzip -o ecology.zip

-o 参数表示强制覆盖,无需逐个确认。

也可以只更新 ecology 子目录下的变更文件,减小变更面。

注意事项

  1. 覆盖不会影响你系统里原本的东西——安全包不涉及业务表结构,直接覆盖 ecology 即可。
  2. 安全包可不做备份,直接覆盖传输
  3. 其他类型补丁(如 BUG 修复补丁)必须先备份 ecology 目录再升级,因为可能涉及代码逻辑变更。

6. 重启 Resin 服务

./startresin.sh

启动成功的关键日志示例:

Resin/4.0.58 launching watchdog at 127.0.0.1:6600
Resin/4.0.58 started -server 'app-0' with watchdog at 127.0.0.1:6600

看到 started 字段即表示 Resin 启动成功。可同步跟踪启动日志确认无报错:

tail -f /usr/weaver/Resin/log/stderr.log   # 路径以实际为准

Resin 启动成功输出

7. 升级结果检测

sysadmin 账号登录 OA 系统,访问以下地址进行安全检测:

/security/checksec20250924.jsp

页面显示 检测通过 即升级成功。

⚠️ 该 URL 末段日期为安全包发布日期,后续新包请按实际修改。

生产环境推荐操作清单

阶段 操作 目的
升级前 tar -czf ecology_$(date +%Y%m%d).tar.gz ecology/ 一键回滚
升级前 cat ecology/WEB-INF/version.txt 记录旧版本号 变更留痕
升级前 确认业务低峰期/维护窗口 降低影响
升级中 先升级 1 台,验证 OK 后再批量推 风险隔离
升级后 冒烟测试:登录、流程、文档、集成接口 回归验证
升级后 在运维变更系统登记:谁、什么时间、哪个包、结果 审计留痕

多节点集群补充

如果 OA 是多节点部署(主备/集群/负载均衡),所有节点都需同步升级:

  1. 先升级 1 个节点,验证无问题
  2. 摘除该节点流量(或逐个停服升级)
  3. 升级完成后接入流量
  4. 重复 1~3 处理剩余节点

不建议同时升级所有节点,否则出问题无法快速回切。

相关阅读