欢迎使用
即时通讯系统 — 安装部署手册
适用环境: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 | ✅ 放行 | 禁止外网直接访问 |
| 9325 | WebSocket 聊天 | ✅ 放行 | 实时消息推送 |
| 9326 | APP Socket 通信 | ✅ 放行 | 移动端连接 |
| 3306 | MySQL 数据库 | ✅ 放行 | 高危端口,严禁外网放行 |
| 6379 | Redis 缓存 | ✅ 放行 | 高危端口,严禁外网放行 |
| 宝塔面板端口 | 随机 | ✅ 按需放行 | 服务器管理使用 |
---
二、服务器前置要求 & 安装前置检测
2.1 硬件 & 系统最低配置
- 操作系统:CentOS 7.6(64位)宝塔不支持 32 位、CentOS6、Ubuntu16 及以下)
- 内存:最低 512MB,生产环境建议 4GB+(内存低于 450MB 宝塔直接安装失败)
- 磁盘:系统盘剩余空间 ≥40GB,保证
/www、/opt目录可正常写入 - 权限:必须使用 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.sh3.2 安装后关键信息记录
安装完成后终端会输出:
- 外网 / 内网面板访问地址
- 宝塔登录用户名、密码
云服务器务必在安全组放行宝塔面板端口,否则无法外网访问。
3.3 宝塔安装常见报错 & 解决方案
- 报错:非 root 权限
- 解决:
su root切换至高权限账号后重新执行安装命令。 - 报错:内存小于 450MB
- 解决:升级服务器内存,或临时开启虚拟内存。
- 报错:系统版本不支持
- 解决:重装系统为 CentOS7+/Ubuntu20+ 64 位版本。
- 报错:磁盘空间不足
- 解决:清理系统盘无用文件,保证剩余空间 ≥400MB。
---
四、第二步:宝塔软件商店安装运行环境
登录宝塔面板 → 左侧【软件商店】,按指定版本安装以下软件:
- Nginx 1.20.2
- MySQL 8.0.24
- PHP 5.6(数据库管理依赖)+ 额外安装 PHP7.4/8.0(官网系统使用,开启
pdo_mysql扩展) - phpMyAdmin 4.4(数据库可视化管理)
- Redis 6.2.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 目录部署
- 将部署包内
opt压缩包上传至服务器根目录,执行解压: - 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 密码
- 宝塔 → 【数据库】→ 找到
root密码选项,修改密码与后续配置文件保持一致。 - 打开
phpMyAdmin进入数据库管理界面。
6.2 创建业务数据库(4 个库)
执行 SQL 创建库(字符集统一 utf8mb4):
sql
购买后会提供数据库源文件 在宝塔的数据库菜单新建数据库命名为给你提供的数据库名 密码为123456 之后导入数据库6.3 批量导入 SQL 文件
- 依次选中对应数据库,点击【导入】;
- 字符集选择
utf-8,勾选部分导入; - 按顺序导入部署包内 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:70707.2 2. /opt/bs-server/config/app-host.properties
properties
##接口配置
my.ip.api=服务器IP
#web端配置
my.ip.web=服务器IP
my.ip.app=服务器IP7.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:70707.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 进程占用 6060、6061 端口;
❌ 异常结果:无端口监听 → 服务启动失败,查看日志排错。
8.3 查看服务运行日志(启动失败专用)
bash
运行
# 业务服务日志
tail -f /opt/bs-server/logs/*
# 管理服务日志
tail -f /opt/mg-server/logs/*常见日志报错:数据库连接失败、Redis 未启动、端口被占用、配置 IP 错误。
8.4 配置开机自启动(生产环境必做)
宝塔 → 【软件商店】安装「宝塔进程管理器」,添加两个进程:
- 进程名称:bs-server | 启动命令:
sh /opt/bs-server/run.sh - 进程名称:mg-server | 启动命令:
sh /opt/mg-server/run.sh - 开启守护进程,服务意外退出自动重启。
---
九、第七步:宝塔创建 3 个 Nginx 站点
9.1 站点总表
表格
| 站点用途 | 监听端口 | 网站根目录 | 运行模式 |
|---|---|---|---|
| 静态资源站 | 7070 | /opt/upload | 纯静态 |
| 管理后台页面 | 81 | /opt/mg-page | 纯静态 |
| 用户聊天页面 | 82 | /opt/bs-page | 纯静态 |
9.2 站点创建步骤
- 宝塔 → 【网站】→【添加站点】;
- 域名处填写
服务器IP,端口对应上表; - 网站目录选择对应路径,PHP 版本选择纯静态;
- 三个站点依次创建完成。
---
十、第八步:配置 Nginx 反向代理(解决 URL拼写错误 报错核心)
问题说明:直接访问http://127.0.0.1:6060/mytio、http://127.0.0.1:6061/tioadmin提示 URL 拼写可能存在错误,属于正常现象! 设计逻辑:Java 接口禁止直接外网访问,必须通过 Nginx 反向代理转发请求,前端页面只访问 81/82 端口站点。
10.1 站点 1:82 端口(bs-page 用户端)反向代理配置
- 进入 82 端口站点 → 【反向代理】→ 添加代理:
- * 代理名称:
mytio - * 代理目录:
/mytio - * 目标 URL:
http://127.0.0.1:6060/mytio - 点击该代理后的配置文件,清空原有内容,完整粘贴以下代码:
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/mytio10.2 站点 2:81 端口(mg-page 管理端)反向代理配置
- 进入 81 端口站点 → 【反向代理】→ 添加代理:
- * 代理名称:
tioadmin - * 代理目录:
/tioadmin - * 目标 URL:
http://127.0.0.1:6061/tioadmin - * 反向域名为:
$host - 点击该代理后的配置文件,清空原有内容,完整粘贴以下代码:
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 站点)
- 编辑官网数据库配置文件
/www/wwwroot/域名/config/database.php,核对数据库账号密码; - 后台地址:
http://域名/admin/,文档地址:http://域名/docs/; - 文档发布:后台编辑文档,状态设为已发布,前端才可正常查看;
- 加密包授权:后台【远程授权】生成密钥,填入 Java 配置文件完成授权。
---
十二、全流程验证清单(按顺序检测)
- ✅ 宝塔正常登录,所有环境软件运行正常
- ✅
netstat检测 6060、6061 端口监听(Java 服务启动成功) - ✅ Redis 执行
redis-cli ping返回PONG - ✅ 访问
http://服务器IP:82→ 聊天前端页面正常打开 - ✅ 访问
http://服务器IP:81→ 管理后台页面正常打开 - ✅ 访问
http://服务器IP:7070→ 资源站可访问(403 为正常) - ✅ 官网域名、文档页面正常访问
- ✅ 前端登录、发消息、后台管理功能正常
```
```