屿U / 📚 产品文档

欢迎使用

更新于 2026-07-01 14:38:45 只读

即时通讯系统 — 安装部署手册

适用环境:Linux 服务器 + 宝塔面板 代码默认部署目录:服务端统一上传至服务器 /opt(centos7.6) 源码在购买后会统一发放

---

一、系统组件与端口总览

1.1 组件分工

表格

组件服务器路径核心作用内置 API 端口访问路径前缀
业务服务端 bs-server/opt/bs-server聊天、登录、业务核心接口6060/mytio
管理服务端 mg-server/opt/mg-server后台管理、权限、系统配置接口6061/tioadmin
用户 Web 端 bs-page/opt/bs-page网页聊天前端页面站点端口 82-
管理后台页 mg-page/opt/mg-page管理员操作前端页面站点端口 81-
静态资源站/opt/upload头像、图片、文件等上传资源站点端口 7070-
官网系统自定义网站目录产品官网、远程授权、在线文档80/443/docs//admin/
MySQL 8.0系统服务业务 + 官网数据存储3306-
Redis系统服务会话缓存、消息缓存6379-

1.2 访问链路

plaintext

用户浏览器
  ├─ 官网(80/443) → 产品首页、在线文档、授权入口
  ├─ 聊天端(IP:82) → 静态页面 → 反向代理 → 127.0.0.1:6060/mytio(业务API)
  ├─ 管理端(IP:81) → 静态页面 → 反向代理 → 127.0.0.1:6061/tioadmin(管理API)
  └─ 资源站(IP:7070) → 加载图片、附件等静态资源

1.3 全端口清单(放行依据)

表格

端口用途外网是否放行备注
80/443官网 HTTP/HTTPS✅ 放行通用网页端口
81管理后台网页✅ 放行Nginx 站点端口
82用户聊天网页✅ 放行Nginx 站点端口
7070静态资源服务✅ 放行图片 / 文件访问
6060业务 Java API✅ 放行禁止外网直接访问
6061管理 Java API✅ 放行禁止外网直接访问
9325WebSocket 聊天✅ 放行实时消息推送
9326APP Socket 通信✅ 放行移动端连接
3306MySQL 数据库✅ 放行高危端口,严禁外网放行
6379Redis 缓存✅ 放行高危端口,严禁外网放行
宝塔面板端口随机✅ 按需放行服务器管理使用

---

二、服务器前置要求 & 安装前置检测

2.1 硬件 & 系统最低配置

  1. 操作系统:CentOS 7.6(64位)宝塔不支持 32 位、CentOS6、Ubuntu16 及以下)
  2. 内存:最低 512MB,生产环境建议 4GB+(内存低于 450MB 宝塔直接安装失败)
  3. 磁盘:系统盘剩余空间 ≥40GB,保证 /www/opt 目录可正常写入
  4. 权限:必须使用 root 账号 执行所有安装命令,普通用户无法安装宝塔

2.2 安装前环境检查命令

bash

运行

# 1. 检查系统位数(必须显示 x86_64)
uname -m
# 2. 检查内存(大于512MB)
free -m
# 3. 检查系统版本
cat /etc/redhat-release  # CentOS
cat /etc/issue           # Ubuntu/Debian
# 4. 检查磁盘剩余空间
df -h /
# 5. 检查是否已存在Nginx/MySQL/PHP(避免环境冲突)
ps -ef | grep -E 'nginx|mysqld|php-fpm'

2.3 宝塔安装前置依赖修复(安装失败专用)

若执行宝塔安装脚本提示依赖缺失、apt 锁、ssl 库缺失,执行对应修复命令:

bash

运行

```
# CentOS 系统 缺失openssl依赖
yum install openssl-devel -y

# Ubuntu/Debian 系统 缺失ssl依赖 + 清理apt锁
apt-get install libssl-dev -y
rm -f /var/lib/dpkg/lock /var/lib/apt/lists/lock
dpkg --configure -a
```

麒麟系统专属修复:若为国产麒麟系统,先执行安全模式关闭命令再装宝塔 bash 运行 `` sudo setstatus softmode -p ``

---

三、第一步:安装宝塔面板(含排错)

3.1 一键安装命令(CentOS/Ubuntu 通用)

SSH 登录服务器(root 权限)执行:

bash

运行

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

3.2 安装后关键信息记录

安装完成后终端会输出:

  • 外网 / 内网面板访问地址
  • 宝塔登录用户名、密码
云服务器务必在安全组放行宝塔面板端口,否则无法外网访问。

3.3 宝塔安装常见报错 & 解决方案

  1. 报错:非 root 权限
  2. 解决:su root 切换至高权限账号后重新执行安装命令。
  3. 报错:内存小于 450MB
  4. 解决:升级服务器内存,或临时开启虚拟内存。
  5. 报错:系统版本不支持
  6. 解决:重装系统为 CentOS7+/Ubuntu20+ 64 位版本。
  7. 报错:磁盘空间不足
  8. 解决:清理系统盘无用文件,保证剩余空间 ≥400MB。

---

四、第二步:宝塔软件商店安装运行环境

登录宝塔面板 → 左侧【软件商店】,按指定版本安装以下软件:

  1. Nginx 1.20.2
  2. MySQL 8.0.24
  3. PHP 5.6(数据库管理依赖)+ 额外安装 PHP7.4/8.0(官网系统使用,开启pdo_mysql扩展)
  4. phpMyAdmin 4.4(数据库可视化管理)
  5. Redis 6.2.6
  6. Tomcat 8.5(仅用于自动部署 JDK8,安装完成后立即卸载 Tomcat8.5,JDK8 会保留

4.1 单独验证 JDK8 环境

bash

运行

java -version

正常输出版本信息即代表 JDK8 部署成功。

4.2 关闭系统防火墙(必做)

bash

运行

# 临时关闭防火墙
systemctl stop firewalld
# 永久禁用开机自启
systemctl disable firewalld
云服务器额外操作:登录云厂商控制台,在【安全组】放行本文 1.3 章节所有需要外网访问的端口。

---

五、第三步:上传解压程序包 & 目录权限优化

5.1 目录部署

  1. 将部署包内 opt 压缩包上传至服务器根目录,执行解压:
  2. bash

运行

  • ```
  • cd / && unzip opt.zip
  • ```
  • 2. 解压后目录结构校验:
  • plaintext
   /opt/bs-server/
   /opt/mg-server/
   /opt/bs-page/
   /opt/mg-page/
   /opt/upload/
   

5.2 目录权限(解决文件无法上传、读写失败)

bash

运行

# 全局赋予运行权限
chmod -R 755 /opt/
# 上传目录单独赋权(核心,头像/文件上传依赖)
chown -R www:www /opt/upload
chmod -R 777 /opt/upload

---

六、第四步:数据库创建 & SQL 文件导入

6.1 前置操作:修改 MySQL root 密码

  1. 宝塔 → 【数据库】→ 找到root密码选项,修改密码与后续配置文件保持一致
  2. 打开 phpMyAdmin 进入数据库管理界面。

6.2 创建业务数据库(4 个库)

执行 SQL 创建库(字符集统一 utf8mb4):

sql

购买后会提供数据库源文件 在宝塔的数据库菜单新建数据库命名为给你提供的数据库名 密码为123456 之后导入数据库

6.3 批量导入 SQL 文件

  1. 依次选中对应数据库,点击【导入】;
  2. 字符集选择 utf-8,勾选部分导入
  3. 按顺序导入部署包内 5 个 SQL 文件:

---

七、第五步:核心配置文件修改(仅改 IP,端口不动)

需修改 4 个配置文件,仅替换 0.0.0.0服务器真实公网 / 内网 IP,所有端口保持默认。

7.1 1. /opt/bs-server/config/app-env.properties

properties

sensitive.flag=true
#网站地址(填写服务器IP:82)
site=http://服务器IP:82/
#上传资源服务器(填写服务器IP:7070)
res.server=http://服务器IP:7070

7.2 2. /opt/bs-server/config/app-host.properties

properties

##接口配置
my.ip.api=服务器IP
#web端配置
my.ip.web=服务器IP
my.ip.app=服务器IP

7.3 3. /opt/mg-server/config/app-env.properties

properties

sensitive.flag=true
#管理后台地址(填写服务器IP:81)
site=http://服务器IP:81/
#上传资源服务器(填写服务器IP:7070)
res.server=http://服务器IP:7070

7.4 4. /opt/mg-server/config/app-host.properties

properties

##接口配置
my.ip.api=服务器IP
my.ip.web=服务器IP
my.ip.app=服务器IP
补充:数据库账号密码、Redis 信息若有变更,同步在以上文件内修改。

---

八、第六步:启动 Java 后端服务 & 自启动配置

8.1 手动启动服务

bash

运行

```
# 启动业务服务 bs-server
cd /opt/bs-server
sh run.sh
出现“成功视为启动成功”

# 启动管理服务 mg-server
cd /opt/mg-server
sh run.sh
出现“成功视为启动成功”
```

8.2 校验端口监听(关键!排查接口报错第一步)报错才看本步

bash

运行

# 查看6060、6061端口是否正常监听
netstat -tlnp | grep -E '6060|6061'

✅ 正常结果:能看到 Java 进程占用 60606061 端口;

❌ 异常结果:无端口监听 → 服务启动失败,查看日志排错。

8.3 查看服务运行日志(启动失败专用)

bash

运行

# 业务服务日志
tail -f /opt/bs-server/logs/*
# 管理服务日志
tail -f /opt/mg-server/logs/*

常见日志报错:数据库连接失败、Redis 未启动、端口被占用、配置 IP 错误。

8.4 配置开机自启动(生产环境必做)

宝塔 → 【软件商店】安装「宝塔进程管理器」,添加两个进程:

  1. 进程名称:bs-server | 启动命令:sh /opt/bs-server/run.sh
  2. 进程名称:mg-server | 启动命令:sh /opt/mg-server/run.sh
  3. 开启守护进程,服务意外退出自动重启。

---

九、第七步:宝塔创建 3 个 Nginx 站点

9.1 站点总表

表格

站点用途监听端口网站根目录运行模式
静态资源站7070/opt/upload纯静态
管理后台页面81/opt/mg-page纯静态
用户聊天页面82/opt/bs-page纯静态

9.2 站点创建步骤

  1. 宝塔 → 【网站】→【添加站点】;
  2. 域名处填写 服务器IP,端口对应上表;
  3. 网站目录选择对应路径,PHP 版本选择纯静态
  4. 三个站点依次创建完成。

---

十、第八步:配置 Nginx 反向代理(解决 URL拼写错误 报错核心)

问题说明:直接访问 http://127.0.0.1:6060/mytiohttp://127.0.0.1:6061/tioadmin 提示 URL 拼写可能存在错误,属于正常现象! 设计逻辑:Java 接口禁止直接外网访问,必须通过 Nginx 反向代理转发请求,前端页面只访问 81/82 端口站点。

10.1 站点 1:82 端口(bs-page 用户端)反向代理配置

  1. 进入 82 端口站点 → 【反向代理】→ 添加代理:
  2. * 代理名称:mytio
  3. * 代理目录:/mytio
  4. * 目标 URL:http://127.0.0.1:6060/mytio
  5. 点击该代理后的配置文件,清空原有内容,完整粘贴以下代码:

nginx

#PROXY-START/mytio
location ^~ /mytio
{
    proxy_pass http://127.0.0.1:6060/mytio;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
  
    add_header X-Cache $upstream_cache_status;
  
    #Set Nginx Cache
  
    keepalive_timeout 0;
    add_header Cache-Control no-cache;
}
#PROXY-END/mytio

10.2 站点 2:81 端口(mg-page 管理端)反向代理配置

  1. 进入 81 端口站点 → 【反向代理】→ 添加代理:
  2. * 代理名称:tioadmin
  3. * 代理目录:/tioadmin
  4. * 目标 URL:http://127.0.0.1:6061/tioadmin
  5. * 反向域名为:$host
  6. 点击该代理后的配置文件,清空原有内容,完整粘贴以下代码:

nginx

#PROXY-START/tioadmin
location /tioadmin
{
    proxy_pass http://127.0.0.1:6061/tioadmin;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
  
    add_header X-Cache $upstream_cache_status;
  
    #Set Nginx Cache
  
	keepalive_timeout 0;
    add_header Cache-Control no-cache;
}
#PROXY-END/tioadmin 

10.3 站点 3:7070 资源站(无需反向代理)

仅做静态资源访问,默认配置即可,如需限制目录浏览可添加:

nginx

location / {
    root /opt/upload;
    autoindex off; # 关闭目录浏览
}

10.4 配置生效

所有反向代理配置完成后,重启 Nginx:宝塔 → 【软件商店】→ Nginx → 重启。

---

十一、第九步:官网系统配置(PHP 站点)

  1. 编辑官网数据库配置文件 /www/wwwroot/域名/config/database.php,核对数据库账号密码;
  2. 后台地址:http://域名/admin/,文档地址:http://域名/docs/
  3. 文档发布:后台编辑文档,状态设为已发布,前端才可正常查看;
  4. 加密包授权:后台【远程授权】生成密钥,填入 Java 配置文件完成授权。

---

十二、全流程验证清单(按顺序检测)

  1. ✅ 宝塔正常登录,所有环境软件运行正常
  2. netstat 检测 6060、6061 端口监听(Java 服务启动成功)
  3. ✅ Redis 执行 redis-cli ping 返回 PONG
  4. ✅ 访问 http://服务器IP:82 → 聊天前端页面正常打开
  5. ✅ 访问 http://服务器IP:81 → 管理后台页面正常打开
  6. ✅ 访问 http://服务器IP:7070 → 资源站可访问(403 为正常)
  7. ✅ 官网域名、文档页面正常访问
  8. ✅ 前端登录、发消息、后台管理功能正常

```

```