鼎熠智控-物联网管理系统文档

搜索文档

搜索文档内容

私有化部署

使用 1Panel 部署天城智控

本教程适用于将天城智控部署到一台全新的 Linux 云服务器。示例使用 1Panel 管理服务器,并通过 OpenResty 绑定域名和 HTTPS。

部署完成后,你将得到什么

完成本教程后,服务器上会运行以下组件:

组件 推荐版本 用途
Ubuntu Server 24.04 LTS 服务器操作系统
1Panel 最新稳定版 服务器和应用管理面板
PostgreSQL 16 保存系统业务数据
Redis 7.4.x 缓存、队列及临时数据
OpenResty 1Panel 应用商店稳定版 域名反向代理和 HTTPS
天城智控 最新安装器 业务系统服务

部署链路如下:

用户浏览器 → 域名 / HTTPS → OpenResty → 127.0.0.1:1324 → 天城智控
                                             ↓
                                   PostgreSQL + Redis

开始前的准备

请先准备以下信息,并确保域名已经解析到服务器公网 IP:

  • 一台可以使用 rootsudo 的 Linux 云服务器。
  • 一个已经备案(如适用)并解析到服务器的域名,例如 iot.example.com
  • 服务器公网 IP、SSH 登录方式和登录密码或密钥。
  • 一个天城智控官网账号,用于获取授权码。
  • 一组 PostgreSQL 数据库名称、用户名称和密码。

端口检查

请在云厂商安全组和服务器防火墙中放行以下端口:

端口 协议 用途
22 TCP SSH 远程管理,可按需限制来源 IP
80 TCP HTTP 验证证书及 HTTP 访问
443 TCP HTTPS 网站访问
1883 TCP MQTT 设备接入和消息通信

1883 需要在云厂商安全组和服务器防火墙中放行,否则设备无法连接 MQTT 服务。数据库和 Redis 只供本机服务使用,通常不需要向公网开放 54326379

安全建议:如果 MQTT 服务支持配置允许来源 IP、账号密码或 ACL,请不要将 1883 设置为无限制匿名访问。设备数量较少时,优先限制来源网段;设备需要从公网接入时,至少启用账号密码和访问权限控制。

第 1 步:选择操作系统

操作系统优先选择 Linux,推荐顺序如下:

  1. 首选:Ubuntu Server 24.04 LTS
  2. 兼容选择:Ubuntu Server 22.04 LTS
  3. 另选:Debian 12

建议选择全新的系统盘。若服务器已经安装过其他面板、Docker 服务或数据库,可能会产生端口、依赖和权限冲突。

第 2 步:安装 1Panel

打开 1Panel 官网,向下找到安装命令。请以官网当前展示的命令为准,不要直接复用过期的复制内容。

将命令复制到服务器 SSH 终端执行。安装过程中按照提示确认安装目录、端口和账号信息。

1Panel 官网安装命令

安装完成后,终端通常会显示 1Panel 的访问地址、面板用户和初始密码。请立即记录这些信息,并首次登录后修改初始密码。

登录 1Panel

在浏览器打开安装完成时显示的面板地址,输入面板账号和密码。

1Panel 面板首页

安全建议:面板登录地址和密码不要公开发送;如果面板支持安全入口、登录限制或双因素认证,建议一并开启。

第 3 步:安装基础服务

进入 1Panel 的「应用商店」,依次安装以下应用:

PostgreSQL 16

选择 PostgreSQL 16,并设置数据库管理员密码。安装时记下以下信息:

  • 容器或服务名称。
  • 数据库端口,默认一般为 5432
  • 数据库管理员账号。
  • 数据库管理员密码。

Redis 7.4.x

Redis 建议选择 7.4.x。在 7.x 分支中,优先选择仍在维护、版本较新的稳定版本,避免使用过旧的 7.07.2

如果 1Panel 的应用商店提供 Redis 密码配置,请设置一个强密码并保存。Redis 同样建议只监听本机或内部网络。

OpenResty

安装 OpenResty,用于接收域名请求并将请求转发到天城智控服务的本机端口 1324

1Panel 应用商店安装基础服务

安装完成后,确认 PostgreSQL、Redis 和 OpenResty 的状态均为运行中,再继续后续操作。

第 4 步:添加域名反向代理

进入 1Panel 的「网站」,新增一个网站并选择「反向代理」。填写:

  • 主域名:填写已经解析到本机的域名,例如 iot.example.com
  • 代理地址:填写 http://127.0.0.1:1324
  • 端口:使用网站表单默认值即可;不要把后端端口直接暴露给公网。

保存后,先使用 HTTP 检查域名是否能访问到代理站点。

添加反向代理网站

第 5 步:申请 HTTPS 证书

在 1Panel 的「证书」页面申请证书,并选择刚才添加的网站域名。

选择验证方式

选择 HTTP 验证。HTTP 验证要求域名的 80 端口可以从公网访问,因此请确认:

  • 域名 A/AAAA 记录指向当前服务器。
  • 云厂商安全组已放行 80 端口。
  • OpenResty 网站已经创建并处于运行状态。
  • 没有其他代理、CDN 或防火墙拦截验证请求。

进入证书申请页面

选择 HTTP 验证方式

证书申请成功后,进入网站的「配置」页面。

进入网站配置

在 HTTPS 配置中开启 HTTPS,选择「已有证书」,选中刚刚申请的证书,然后滚动到页面底部保存。

开启 HTTPS 并选择已有证书

保存后,使用 https://你的域名 访问。浏览器地址栏显示锁形图标,说明证书已经生效。

第 6 步:创建安装目录

进入 1Panel 的「网站目录」,在当前网站目录下新建一个文件夹。文件夹名称可以自定义,例如:

tczk

建议使用英文、数字和短横线命名,不要使用空格或特殊字符。后续安装器文件和运行文件都放在这个目录中。

在网站目录创建文件夹

第 7 步:下载并运行天城智控安装器

打开 下载安装器,根据服务器架构和官网当前发布的版本下载对应安装器。

在安装器下载区域复制官网教程提供的命令。命令一般包含下载、授权执行权限和启动安装器等步骤,请以官网当前内容为准。

在官网下载安装器

回到 1Panel,进入刚才创建的 tczk 目录,点击「终端」。

打开网站目录终端

将官网命令粘贴到终端执行。若遇到权限不足,可检查当前终端用户是否有目录写入权限;不要为了绕过问题而直接开放整个目录的 777 权限。

安装器启动后,等待终端出现安装器已准备就绪或等待输入的提示。

安装器启动完成

此时可以直接在浏览器中输入你的域名打开安装页面。优先使用 HTTPS 域名访问,例如:

https://iot.example.com

通过域名打开安装页面

第 8 步:登录官网并填写授权码

在安装页面按提示进入官网登录。使用你的天城智控官网账号完成登录。

登录天城智控官网账号

登录后复制授权码,回到安装页面粘贴并提交。

复制授权码

授权码属于敏感信息,请不要截图公开或提交到代码仓库。如果授权失败,请检查:

  • 服务器系统时间是否准确。
  • 当前域名是否与授权范围一致。
  • 授权码是否完整复制,前后没有多余空格。
  • 服务器是否可以正常访问天城智控授权服务。

第 9 步:填写数据库信息

授权确认后,安装器会要求填写数据库信息。填写你在 1Panel 中创建的 PostgreSQL 数据库信息:

字段 填写建议
数据库地址 PostgreSQL 与安装器在同一台服务器时填写 127.0.0.1 或 1Panel 显示的本机连接地址
数据库端口 一般为 5432,以 1Panel 实际配置为准
数据库名称 提前创建的业务数据库名称
数据库用户 对应数据库用户
数据库密码 对应数据库用户密码

如果安装器单独要求 Redis 信息,地址填写 127.0.0.1,端口一般为 6379,密码填写 Redis 实际配置的密码。

填写数据库连接信息

数据库连接失败时,先回到 1Panel 检查 PostgreSQL 和 Redis 是否正在运行,再核对地址、端口、数据库名、账号和密码。数据库创建和授权操作请按照页面提示完成。

第 10 步:确认部署结果

安装器完成文件下载、数据库初始化和服务启动后,会显示部署完成页面。

部署完成

点击「一键复制」保存部署结果。建议将结果保存到密码管理器或安全的运维记录中,不要直接发到群聊或提交到 Git 仓库。

第 11 步:重启数据库并重启天城智控

部署完成后,在 1Panel 中重启一次 PostgreSQL 数据库,确保初始化后的连接状态稳定。

然后进入网站目录的终端,切换到天城智控安装目录,执行:

cd /你的安装目录
./tczk restart

例如安装目录是 /www/sites/iot.example.com/tczk,则执行:

cd /www/sites/iot.example.com/tczk
./tczk restart

重启数据库并执行 tczk restart

重启后重新打开 HTTPS 域名,确认首页、登录和核心功能可以正常使用。

部署后的检查清单

请逐项确认:

  • 域名解析到当前服务器公网 IP。
  • 80、443 和 1883 端口已放行,22 端口已限制为必要来源。
  • 1Panel 中 PostgreSQL、Redis、OpenResty 均为运行状态。
  • OpenResty 反向代理地址为 http://127.0.0.1:1324
  • HTTPS 证书已签发并绑定到当前网站。
  • 浏览器可以通过 https://你的域名 打开安装页面或系统首页。
  • 授权码验证成功。
  • 数据库连接成功并完成初始化。
  • 执行 ./tczk restart 后服务仍然可以正常访问。
  • 已保存数据库密码、Redis 密码和部署结果,并避免公开泄露。

常见问题

HTTP 验证证书失败

通常是域名解析或 80 端口不可达。先用 DNS 工具确认域名解析结果,再检查云安全组、服务器防火墙和 OpenResty 网站状态。若使用 CDN,申请证书时可以暂时确认 HTTP 回源配置允许验证请求通过。

域名可以打开,但页面显示 502

502 表示 OpenResty 无法连接后端。请检查天城智控服务是否启动、监听端口是否为 1324,并确认代理地址没有写成服务器公网 IP。安装器完成后再次执行:

./tczk restart

数据库连接失败

优先检查 PostgreSQL 服务状态、端口、数据库名称和用户权限。数据库与安装器同机部署时,地址优先使用 127.0.0.1;如果使用容器网络地址,请以 1Panel 应用详情中的连接信息为准。

页面能打开,但 HTTPS 没有生效

确认网站配置中已开启 HTTPS,并且选择的是刚申请的已有证书。保存后清理浏览器缓存,使用完整的 https:// 地址重新访问。

重启后仍然无法访问

先在 1Panel 中确认 PostgreSQL、Redis 和 OpenResty 都在运行,再进入安装目录执行 ./tczk restart。如果仍然失败,请保留终端错误信息、服务状态和访问时间,联系技术支持排查。

安全与维护建议

  • 定期在 1Panel 中备份 PostgreSQL 数据库,并将备份复制到另一台存储位置。
  • 不要把 PostgreSQL、Redis 和 1Panel 管理端口长期暴露到公网。
  • 为 SSH、1Panel、数据库和 Redis 使用不同的强密码。
  • 及时更新 Ubuntu、1Panel、OpenResty、PostgreSQL 和 Redis 的安全补丁。
  • 证书续期前确认 80 端口和域名解析仍然有效。
  • 需要升级天城智控前,先完成数据库备份并记录当前版本和部署结果。