首页 / 技术文章 / 交付

交付

内网离线部署怎么搞:没有外网的项目,交付清单和踩坑

政务、军工、部分国企的项目要求系统在内网运行,不能连外网。这类交付和常规部署完全是两套流程。

先确认三件事

接到「内网部署」需求,先问清楚:

· 是完全物理隔离,还是内网能连外网但对外不可访问?

· 服务器能不能连内网的软件源(比如内网的 npm/pip 镜像)?

· 客户端设备是什么系统、什么浏览器版本?

这三件事决定了后面所有的技术选型。完全隔离和「内网有出口」是两个难度。

依赖要提前打包

完全隔离环境下,npm install 和 pip install 都跑不了。所有依赖必须提前下载好。

Node 项目:在能上网的机器上 npm install,把 node_modules 整个打包带进去。注意 node_modules 里有平台相关的二进制(比如 sharp、esbuild),要在目标系统同架构的机器上装。

Python 项目:pip download 把 wheel 包全部下载到本地目录,进去后 pip install --no-index --find-links。

系统包:apt 的 deb 包也要提前下(apt-get download),或者准备一个离线镜像源。

服务要用离线方式启动

systemd 是最稳的,不要依赖 pm2(pm2 依赖 npm 全局安装,离线环境容易出问题)。

写一个 service 文件,指定 WorkingDirectory、ExecStart、Restart=always,开机自启用 systemctl enable。

日志要配 logrotate,否则内网跑半年日志能把磁盘吃满,而且没人会去清。

模型与 AI 能力的处理

如果系统里有大模型能力,内网环境下有两种做法:

· 私有化部署模型(需要 GPU,部署和维护成本高)

· 预先计算 + 规则引擎(把模型的输出固化成模板和规则,不实时调用)

很多所谓的「AI 能力」在内网场景其实是第二种更实用:把大模型用在开发阶段生成模板和知识库,运行时用规则引擎跑,效果稳定且不需要 GPU。

这一点要提前和客户说清楚,否则验收时会被质疑「为什么没有大模型」。

交付清单

内网项目的交付物比常规项目多,清单要提前确认:

· 安装包(含全部依赖)

· 部署文档(一步步能照着做,含常见错误处理)

· 数据初始化脚本

· 运维手册(怎么重启、怎么看日志、怎么备份)

· 培训材料(现场运维人员要能自己处理常见问题)

· 回滚方案(升级失败怎么退回上一版本)

验收时最容易被卡的地方

· 重启后服务没自启 —— 一定要测一次断电重启

· 时间不同步导致证书或令牌失效 —— 内网没有 NTP,要配内网时间源或手动同步

· 磁盘满了没人知道 —— 加一个磁盘告警(哪怕只是写日志到指定位置监控)

· 备份没做 —— 数据库要配定时备份,且备份文件要放在另一块盘

这几条在验收清单里通常不会写,但出事时都是致命的。

← 全部文章 聊具体场景