1. 文档教程
壹信-开源即时通讯
  • 壹信 — 即时通讯系统
  • 项目源码结构与功能说明书
  • 功能核心分类明细
  • 客户端打包教程
  • Android安卓打包教程
  • iOS苹果打包教程
  • 苹果推送apns配置教程
  • macOS电脑打包教程
  • Windowsn桌面端打包教程
  • mac编译环境配置
  • windows编译环境配置
  • Docker部署后端教程
  • 用宝塔面板搭建服务端
  • API全局接口
  • 并发压力测试报告
  • 服务器配置推荐
  • 适用于上架的隐私协议
  • 端口说明
  • 更新日志
  • 法律声明
文档教程
文档教程
  1. 文档教程

用宝塔面板搭建服务端

🌐 壹信 IM 后端 - 宝塔部署详细指南#

📂 文件结构详解#

baota/
├── server           # 服务主程序(Linux amd64, 15MB)
├── config.yaml      # 核心配置文件(需根据环境修改)
├── init.sql         # MySQL 数据库初始化脚本(表结构)
├── start.sh         # 启动脚本(开发测试用)
├── stop.sh          # 停止脚本(开发测试用)
├── restart.sh       # 重启脚本(开发测试用)
├── yixinim.service  # systemd 服务文件(生产环境用)
├── uploads/         # 上传文件目录(存储用户头像、消息附件等)
└── README.md        # 本文档

🔐 默认管理员信息#

用户名: admin
密码: 123456
重要提示: 首次登录后必须立即修改密码,否则存在严重安全风险

🛠️ 详细部署步骤#

1. 上传文件(详细步骤)#

1.
准备服务器:
确保服务器已安装宝塔面板(推荐版本 8.0+)
服务器系统: Ubuntu 20.04/22.04 或 CentOS 7/8
服务器配置: 2核2G+(建议4G内存)
2.
创建网站目录:
3.
上传文件:
4.
验证文件:

2. 设置权限(详细步骤)#


3. 配置数据库(详细步骤)#

🐬 MySQL 配置#

1.
在宝塔面板创建数据库:
2.
导入数据库结构:
3.
修改 config.yaml:

🧪 MongoDB 配置#

1.
在宝塔面板安装 MongoDB:
2.
创建数据库和用户:
3.
授权消息库权限:
一行执行方式:
4.
修改 config.yaml:

⚡ Redis 配置#

1.
在宝塔面板安装 Redis:
2.
修改 config.yaml:

4. 修改 JWT 密钥(详细步骤)#

重要: JWT 密钥必须修改,否则存在安全风险
1.
生成强随机密钥:
2.
修改 config.yaml:

5. 配置服务器地址(详细步骤)#

1.
修改 config.yaml:
如果使用本地IP: http://127.0.0.1:8080
如果使用域名: https://api.yourdomain.com
2.
重要提示:
如果使用反向代理(推荐),base_url 必须与反向代理的域名一致
例如:如果通过 https://api.yourdomain.com 访问,则 base_url 必须为 https://api.yourdomain.com

6. 启动服务(详细步骤)#

方式一:使用脚本(开发测试)#

方式二:使用 systemd(生产环境推荐)#


7. 配置反向代理(详细步骤,含WebSocket支持)#

方法一:宝塔反向代理(简单)#

1.
宝塔面板 → 网站 → 你的域名 → 反向代理 → "添加反向代理"
2.
配置如下:
代理名称: api
目标URL: http://127.0.0.1:8080
发送域名: $host
点击"提交"
3.
测试: 访问 https://api.yourdomain.com 应该能访问服务

方法二:伪静态配置(推荐,支持WebSocket)#

1.
宝塔面板 → 网站 → 你的域名 → 伪静态
2.
选择"其他" → 选择"Nginx" → 粘贴以下配置:
3.
点击"保存"
4.
重启Nginx:

8. 配置 SSL(详细步骤)#

1.
宝塔面板 → 网站 → 你的域名 → SSL
2.
选择"Let's Encrypt" → 申请证书
3.
勾选"强制HTTPS" → 点击"提交"
4.
修改 config.yaml:
5.
测试: 访问 https://api.yourdomain.com 应该能通过HTTPS访问

🛠️ 常用命令(详细说明)#

命令说明
tail -f /www/wwwroot/yixinim/server.log实时查看服务日志
ps aux | grep yixinim查看服务进程
netstat -tlnp | grep 8080查看8080端口占用情况
systemctl status yixinim查看systemd服务状态
journalctl -u yixinim -f查看systemd服务实时日志
chmod +x /www/wwwroot/yixinim/start.sh重新设置启动脚本权限
chown www:www /www/wwwroot/yixinim/uploads设置上传目录所有者

🔐 防火墙配置(详细步骤)#

1.
宝塔面板 → 安全 → 防火墙
2.
开放以下端口:
80 (HTTP)
443 (HTTPS)
8080 (API服务,如使用反向代理可不开放)
3.
检查防火墙状态:

❓ 详细常见问题及解决方案#

1. 启动失败(常见原因及解决)#

问题现象可能原因解决方案
服务无法启动数据库连接失败检查config.yaml中的MySQL/MongoDB配置,确保密码正确
服务无法启动端口被占用netstat -tlnp | grep 8080,停止占用端口的进程
服务无法启动权限不足chmod 755 /www/wwwroot/yixinim/server
服务启动后立即退出配置文件错误检查config.yaml格式,使用yamllint验证
服务启动后无法访问未配置反向代理按照指南配置Nginx反向代理

2. WebSocket 连接失败(详细解决方案)#

现象: 消息无法实时推送
解决步骤:
1.
检查Nginx配置是否包含WebSocket支持:
2.
检查是否正确配置了反向代理
3.
检查服务端是否支持WebSocket(确保代码中已启用)
4.
测试WebSocket连接:

3. 上传文件失败(详细解决方案)#

现象: 上传头像、文件失败
解决步骤:
1.
检查uploads目录权限:
2.
修正权限:
3.
检查Nginx配置中的uploads路径:
4.
检查宝塔网站配置中的"上传文件大小限制":

4. 500 错误(消息发送失败)#

现象: 发送消息返回500错误
可能原因及解决:
1.
MongoDB权限问题:
检查是否已为用户授予yixinim_messages库的readWrite权限
按照指南重新执行权限授予命令
2.
配置文件错误:
检查config.yaml中的mongodb.uri是否正确
确保authSource参数正确
3.
服务重启:
重启服务: systemctl restart yixinim

✅ 部署完成验证#

1.
访问 API 端点:
https://api.yourdomain.com/api/v1/health
应该返回 {"status": "ok"}
2.
登录管理员:
访问 https://api.yourdomain.com/admin
使用默认账号 admin/123456 登录
立即修改密码
3.
测试消息功能:
登录后发送测试消息,确认消息能正常发送和接收

💡 附加建议#

1.
定期备份:
2.
监控服务:
在宝塔面板设置"网站监控",监控服务状态
使用systemctl status yixinim定期检查
3.
安全加固:
修改默认端口(如8080)
配置防火墙只允许特定IP访问
定期更新系统和软件

📌 总结#

通过以上详细步骤,您应该能够成功部署壹信IM后端服务。请特别注意:
1.
数据库配置(MySQL、MongoDB、Redis)必须正确
2.
JWT密钥必须修改
3.
WebSocket支持在Nginx配置中必须启用
4.
上传文件权限必须正确设置
重要提示: 首次部署完成后,务必立即修改管理员密码,这是保障系统安全的第一步!
修改于 2026-03-06 16:20:55
上一页
Docker部署后端教程
下一页
API全局接口
Built with