baodan/docs/服务器部署指南.md

7.0 KiB
Raw Blame History

保险智能客服系统 — 服务器部署指南

一、部署前准备

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 网络要求

  • 开放端口:3000Web 管理后台)、5001API9080(前端)
  • 服务器需能访问外网(拉取 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 配置域名(可选)

如果有域名,需要:

  1. 配置 DNS 解析到服务器 IP
  2. 修改 docker-compose.yml 中的 URL
CONSOLE_API_URL: https://your-domain.com
CONSOLE_WEB_URL: https://your-domain.com
  1. 建议使用 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 安全加固

  1. 修改所有默认密码
  2. 限制数据库端口访问:只允许应用访问
  3. 启用防火墙:只开放必要端口
  4. 定期备份数据库
  5. 使用非 root 用户运行 Docker

7.2 性能优化

  1. 增加 Worker 数量:修改 docker-compose.yml 中的 Celery 并发数
  2. 配置 Redis 持久化:确保数据不丢失
  3. 使用 SSD 存储:提升数据库性能
  4. 配置日志轮转:避免日志占满磁盘

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 保险前端 客服界面