7.0 KiB
7.0 KiB
保险智能客服系统 — 服务器部署指南
一、部署前准备
1.1 服务器要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 2 核 | 4 核+ |
| 内存 | 4GB | 8GB+ |
| 磁盘 | 40GB | 100GB+ SSD |
| 系统 | Ubuntu 20.04+ / CentOS 7+ | Ubuntu 22.04 |
| Docker | 20.10+ | 最新版 |
| Docker Compose | v2.0+ | 最新版 |
1.2 网络要求
- 开放端口:
3000(Web 管理后台)、5001(API)、9080(前端) - 服务器需能访问外网(拉取 Docker 镜像)
1.3 本地打包
# 在开发机执行,生成部署包(约 1-2MB)
bash package.sh
生成文件:baodanagent-YYYYMMDD_HHMMSS.tar.gz
二、快速部署(推荐)
方式 A:一键部署脚本(Linux 服务器)
# 1. 上传部署包到服务器
scp baodanagent-*.tar.gz root@服务器IP:/opt/
# 2. SSH 登录服务器
ssh root@服务器IP
# 3. 解压并进入目录
cd /opt
tar xzf baodanagent-*.tar.gz
cd baodanagent-*
# 4. 执行一键部署
bash server-deploy.sh
脚本会自动:
- ✅ 安装 Docker 和 Docker Compose(如未安装)
- ✅ 拉取官方镜像
- ✅ 构建自定义 API 镜像
- ✅ 生成 docker-compose.yml
- ✅ 初始化数据库
- ✅ 启动所有服务
方式 B:手动部署
# 1. 安装 Docker(如未安装)
curl -fsSL https://get.docker.com | sh
systemctl enable docker && systemctl start docker
# 2. 安装 Docker Compose 插件
apt-get update && apt-get install -y docker-compose-plugin
# 3. 上传并解压部署包
scp baodanagent-*.tar.gz root@服务器IP:/opt/
ssh root@服务器IP
cd /opt && tar xzf baodanagent-*.tar.gz && cd baodanagent-*
# 4. 启动所有服务
docker compose -f docker-compose.dify.yml up -d
# 5. 检查状态
docker compose -f docker-compose.dify.yml ps
三、访问系统
部署完成后,通过浏览器访问:
| 服务 | 地址 | 说明 |
|---|---|---|
| BaoDan 管理后台 | http://服务器IP:3000 |
知识库、模型、应用管理 |
| 保险前端 | http://服务器IP:9080 |
保险智能客服界面 |
| API 服务 | http://服务器IP:5001 |
后端接口 |
默认账号
| 系统 | 用户名 | 密码 |
|---|---|---|
| BaoDan 管理后台 | taiyi@baodan.com |
taiyi1224 |
| 保险系统 | admin |
taiyi1224 |
四、配置修改
4.1 修改密码(重要!)
部署后务必修改默认密码:
# 编辑环境配置
vim .env
# 修改以下配置:
POSTGRES_PASSWORD=你的数据库密码
ADMIN_PASSWORD=你的管理员密码
SECRET_KEY=你的密钥(可用 openssl rand -hex 32 生成)
修改后重启服务:
docker compose -f docker-compose.dify.yml restart
4.2 配置域名(可选)
如果有域名,需要:
- 配置 DNS 解析到服务器 IP
- 修改 docker-compose.yml 中的 URL:
CONSOLE_API_URL: https://your-domain.com
CONSOLE_WEB_URL: https://your-domain.com
- 建议使用 Nginx 反向代理 + SSL 证书
4.3 配置 HTTPS(推荐)
使用 Let's Encrypt 免费 SSL 证书:
# 安装 Certbot
apt-get install -y certbot
# 获取证书
certbot certonly --standalone -d your-domain.com
# 证书路径
# /etc/letsencrypt/live/your-domain.com/fullchain.pem
# /etc/letsencrypt/live/your-domain.com/privkey.pem
然后配置 Nginx 反向代理(参考 deploy/nginx.conf)。
五、常用运维命令
5.1 查看状态
# 查看容器状态
docker compose -f docker-compose.dify.yml ps
# 查看所有容器(包括停止的)
docker ps -a
5.2 查看日志
# 查看 API 日志
docker compose -f docker-compose.dify.yml logs -f baodan-api
# 查看所有日志
docker compose -f docker-compose.dify.yml logs -f
# 查看最近 100 行日志
docker compose -f docker-compose.dify.yml logs --tail 100 baodan-api
5.3 重启服务
# 重启所有服务
docker compose -f docker-compose.dify.yml restart
# 重启单个服务
docker compose -f docker-compose.dify.yml restart baodan-api
5.4 停止/启动
# 停止所有服务
docker compose -f docker-compose.dify.yml down
# 启动所有服务
docker compose -f docker-compose.dify.yml up -d
5.5 更新代码
# 1. 在本地重新打包
bash package.sh
# 2. 上传到服务器
scp baodanagent-*.tar.gz root@服务器IP:/opt/
# 3. 在服务器上更新
ssh root@服务器IP
cd /opt
tar xzf baodanagent-*.tar.gz
cd baodanagent-*
# 4. 重新构建并启动
docker compose -f docker-compose.dify.yml up -d --build
# 5. 清理旧镜像
docker image prune -f
5.6 数据备份
# 备份数据库
docker exec baodanagent-db-1 pg_dump -U postgres baodan > backup_$(date +%Y%m%d).sql
# 恢复数据库
docker exec -i baodanagent-db-1 psql -U postgres baodan < backup_20260101.sql
六、故障排查
6.1 容器无法启动
# 查看容器日志
docker compose -f docker-compose.dify.yml logs baodan-api
# 查看容器详细信息
docker inspect baodanagent-baodan-api-1
6.2 数据库连接失败
# 检查数据库状态
docker exec baodanagent-db-1 pg_isready -U postgres
# 进入数据库检查
docker exec -it baodanagent-db-1 psql -U postgres -d baodan
6.3 Redis 连接失败
# 检查 Redis 状态
docker exec baodanagent-redis-1 redis-cli ping
# 测试 Redis 连接
docker exec baodanagent-redis-1 redis-cli set test 1
docker exec baodanagent-redis-1 redis-cli get test
6.4 端口被占用
# 查看端口占用
netstat -tlnp | grep -E '3000|5001|9080|5433|6380'
# 停止占用端口的进程
kill -9 <PID>
6.5 磁盘空间不足
# 查看磁盘使用
df -h
# 清理 Docker 缓存
docker system prune -a -f
# 查看 Docker 占用空间
docker system df
七、生产环境建议
7.1 安全加固
- 修改所有默认密码
- 限制数据库端口访问:只允许应用访问
- 启用防火墙:只开放必要端口
- 定期备份数据库
- 使用非 root 用户运行 Docker
7.2 性能优化
- 增加 Worker 数量:修改 docker-compose.yml 中的 Celery 并发数
- 配置 Redis 持久化:确保数据不丢失
- 使用 SSD 存储:提升数据库性能
- 配置日志轮转:避免日志占满磁盘
7.3 监控
# 查看容器资源使用
docker stats
# 查看容器进程
docker top baodanagent-baodan-api-1
八、卸载
# 停止所有服务
docker compose -f docker-compose.dify.yml down -v
# 删除数据卷
docker volume rm baodanagent_baodan_pg_data baodanagent_baodan_redis_data
# 删除镜像
docker image rm baodanagent-baodan-api:latest
# 删除部署文件
rm -rf /opt/baodanagent-*
附录:端口清单
| 端口 | 服务 | 说明 |
|---|---|---|
| 3000 | BaoDan Web | 管理后台 |
| 5001 | BaoDan API | 后端接口 |
| 5002 | Plugin Daemon | 插件服务 |
| 5003 | Plugin Install | 插件安装 |
| 5433 | PostgreSQL | 数据库 |
| 6380 | Redis | 缓存 |
| 8194 | Sandbox | 代码沙箱 |
| 9080 | 保险前端 | 客服界面 |