DEPLOYMENT GUIDE · LINUX
UVP-GB28181 Linux 部署手册
把统一视频接入平台装到一台 Linux 服务器上:下载、校验、启动、放行防火墙、登录初始化,到第一次看到设备接入信息,全程约 15 分钟。所有截图来自 1.1.13 版本的真实部署过程。
版本说明:下文命令以 1.1.13 为例,实际版本号请以[下载页](/downloads/uvp-gb28181)当前发布的为准,把命令里的 1.1.13 换成对应版本即可,步骤完全相同。
1. 环境要求
「独立部署包」是绿色包:数据库(SQLite)、缓存(Redis)、流媒体服务(ZLMediaKit)、Web 服务器(nginx)全部随包自带,目标机不需要预装任何运行时和依赖,也不用 Docker。
| 项目 | 要求 |
|---|---|
| CPU 架构 | x86_64(amd64 包)或 aarch64(arm64 包),按机器选对应安装包 |
| 操作系统 | glibc 2.28 及以上:CentOS / RHEL / 银河麒麟 V10 SP2 / 统信 UOS / openEuler / Ubuntu 等均可 |
| 内存 | 建议 2 GB 及以上 |
| 磁盘 | 建议 10 GB 以上可用空间(数据库与录像索引会持续增长) |
| 运行身份 | 普通用户即可运行,只有注册开机自启才需要 root |
| 浏览器 | Chrome / Edge / Firefox 近两年版本 |
端口使用连续的 51000–51064 一段(共 65 个),启动时会逐个实测,被占用会当场报错并提示改哪一项。
2. 部署步骤总览
- 在[下载页](/downloads/uvp-gb28181)选择与系统、架构匹配的安装包并下载
- 核对 SHA-256 校验值,确认文件完整
- 解压到目标目录,认识包根结构
- 执行
./uvp-gb28181-ctl.sh start启动全部服务 - 在防火墙放行 51000–51064(局域网访问才需要)
- 浏览器打开管理页面,用初始账号登录并立即修改口令
- 完成首次登录的接入向导(部署方式、网络地址、SIP 身份)
- 记录 SIP 接入信息,交给设备侧配置使用
- 检查「设备接入地址」是否指向本机
- 按需开启 HTTPS、注册开机自启
3. 第一步:下载安装包
打开官网下载页,在「Linux 独立部署包」里按架构选择( Intel / AMD 机器选 amd64,鲲鹏、飞腾等选 arm64),点击下载。

下载完成后核对校验值,确认传输过程没有损坏。在下载目录执行:
把输出的哈希值和下载页该安装包标注的 SHA-256 逐字符比对,一致才算完整。不一致说明下载损坏,重新下载即可。
4. 第二步:解压并认识包根
把安装包解压到目标目录(示例用 /opt/uvp,可以换成任何有权限的路径):
bash
mkdir -p /opt/uvp && cd /opt/uvp
tar -xzf uvp-gb28181-linux-amd64-1.1.13.tar.gz
cd uvp-gb28181-linux-amd64-1.1.13解压出来的目录就是「包根」,后面的命令都在这个目录里执行。目录结构如下:
| 目录 / 文件 | 作用 |
|---|---|
uvp-gb28181-ctl.sh | 唯一入口:启动、停止、重启、查状态、重置口令 |
uvp-gb28181-service-install.sh | 注册成 systemd 服务、开机自启(可选,需要 root) |
bin/ | 平台程序本体:后端 uvp-server、初始化工具 uvp-setup、升级助手 |
vendor/ | 自带 Redis、ZLMediaKit、nginx,不用另装 |
config/ | 全部配置:config.yml(业务配置)+ config.env(端口段与密钥) |
data/ | 全部业务数据:数据库、Redis 落盘、运行期密钥 |
logs/ | 全部日志:业务、流媒体、nginx |
run/ | 运行期临时文件(pid 等),重启自动重建 |
记住两个目录:备份和迁移只需要 data/ 和 config/,其他目录都可以由安装包重新生成。
5. 第三步:启动服务
在包根执行一条命令即可启动全部组件:
bash
./uvp-gb28181-ctl.sh start首次启动会自动完成建库和初始化(约 1 分钟),结束后打印访问地址和端口规划:
输出分三个阶段,重点看这几行:
- 阶段 1 · 环境检查:逐个实测 51000–51064 是否可绑定。报「端口冲突」就按提示改
config/config.env里的端口段再重试。 - 阶段 2 · 初始化数据:建 114 张表、灌入初始数据、创建管理员账号(
admin)。中间「有 9 条 CREATE 语句不会生效」是 SQLite 的库级唯一约束提示,属正常现象,不影响使用。 - 阶段 3 · 启动服务:Redis、ZLMediaKit、nginx、后端依次起来。用普通用户启动时「防火墙代理」会提示未启动,只影响内核级封禁,不影响平台使用。
- 结尾:打印访问地址、登录账号,以及需要放行防火墙时该执行的命令。
不要把最后几行关掉:访问地址、防火墙命令都在里面。关掉了执行 ./uvp-gb28181-ctl.sh status 可以再查一遍。
6. 第四步:放行防火墙(局域网访问)
如果这台服务器只给本机用,跳过这一步。要让局域网内的设备、其他电脑访问,需要放行 51000–51064 一段端口。按系统类型选一条:
bash
# Ubuntu / 统信 UOS(ufw)
sudo ufw allow 51000:51064/tcp
sudo ufw allow 51000:51064/udp
# CentOS / RHEL / 银河麒麟 / openEuler(firewalld)
sudo firewall-cmd --permanent --add-port=51000-51064/tcp
sudo firewall-cmd --permanent --add-port=51000-51064/udp
sudo firewall-cmd --reload以 start 收尾打印的那条为准,直接照抄即可。云服务器还要在控制台的安全组里放行同样范围。
7. 第五步:登录并修改初始口令
浏览器访问启动时打印的地址(形如 http://<服务器IP>:51000),首次登录使用初始账号:
- 账号:
admin - 口令:
123456

输入验证码后登录,系统会强制要求先修改口令:

改完口令会自动进入首次登录的接入向导。
8. 第六步:完成接入向导
向导引导录入四项基础信息,按现场实际情况填写:
- 部署方式:局域网部署或公网部署;
- 网络地址:平台对外提供访问的地址与端口;
- SIP 身份:SIP 服务端口、平台编号(服务器 ID)、SIP 域、SIP 口令 —— 这些就是之后设备侧要配的参数;
- 确认信息:核对无误后点「保存并启动」。

保存后进入仪表盘,左侧出现完整菜单,部署基本完成:

9. 第七步:记录 SIP 接入信息
进入左侧菜单「SIP 接入信息」,这一页汇总了设备侧需要的全部参数,建议直接截图保存:

把「SIP 服务器地址、端口、平台 ID、SIP 域、SIP 口令」交给设备或摄像头厂商,在设备侧配成相同的值,设备即可注册上线。详细的设备接入步骤见使用手册总览。
10. 第八步:检查「设备接入地址」
进入「国标服务配置」页面,翻到最底部的「设备接入地址」段,确认两个地址指向的是这台服务器的当前地址:

- 扫码配网地址:App 扫码配网时下发给手机的入口地址,端口为后端端口(51002);
- 抓拍回传地址:GB/T 28181-2022 抓拍图片回传入口,端口为 nginx 明文口(51000),必须是明文
http://(设备不认自签证书)。
如果这里显示的不是本机地址(例如残留了其他机器的 IP、或还是默认值),请手工改成本机当前地址。地址不对时,扫码配网和图片回传会静默失败,平台侧没有任何报错。
同一页里还集中了国标相关的运行开关(传输模式、订阅项、超时时间等),保持默认即可,需要时再按现场调整。
11. 第九步:开启 HTTPS(可选)
默认是明文 HTTP,局域网内可用。要启用 HTTPS:进入「系统管理 → 系统配置 → HTTPS」标签,打开「是否启用 HTTPS」开关。安装包已内置自签证书,无需自己准备;切换后访问地址变为 https://<服务器IP>:51001。

自签证书浏览器会提示不受信任,属正常现象;需要正式证书时在同一页上传 PEM 证书与私钥文件。ZLMediaKit 的 HTTPS / WSS 端口保持开启,不受此开关影响。
12. 第十步:注册开机自启(可选)
希望服务器重启后平台自动恢复,注册成 systemd 服务(需要 root):
bash
sudo ./uvp-gb28181-service-install.sh --now之后服务名为 uvp-gb28181,可用 systemctl status uvp-gb28181 查看,用 systemctl 标准命令管理。卸载注册(只删服务、不动数据)执行 sudo ./uvp-gb28181-service-uninstall.sh。
13. 日常运维
所有操作都通过包根里的一个脚本完成:
| 操作 | 命令 |
|---|---|
| 启动 | ./uvp-gb28181-ctl.sh start |
| 停止 | ./uvp-gb28181-ctl.sh stop |
| 重启 | ./uvp-gb28181-ctl.sh restart |
| 查看状态 | ./uvp-gb28181-ctl.sh status |
| 重置登录口令 | ./uvp-gb28181-ctl.sh reset-password |
备份
停服后只打包 `data/` 和 `config/` 两个目录即可:bash
./uvp-gb28181-ctl.sh stop
tar -czf uvp-backup-$(date +%F).tar.gz data config升级
解压新版本安装包覆盖原目录,data/ 和 config/ 原样保留(不要删),然后 `restart`。升级日志见[版本记录](/changelog/uvp-gb28181)。