第一章:服务器环境准备

1.1 云服务器选购与配置

  1. 选择云服务商
    • 推荐平台:阿里云、腾讯云、AWS Lightsail(新手可选厂商提供的“轻量应用服务器”)。
    配置建议
    测试用途:1核CPU / 2GB内存 / 50GB SSD(最低配置,支持10人以内对话)。
    生产用途:2核CPU / 4GB内存 / 100GB SSD(支持并发请求及插件运行)。
    操作系统:优先选择 Ubuntu 22.04 LTS(兼容性最佳)。
  2. 安全组(防火墙)配置
    • 登录云平台控制台,进入服务器安全组设置:
    ◦ 开放入方向端口:80(HTTP)、443(HTTPS)、3000(LobeChat)、9000(Websoft9面板)。
    ◦ 示例(阿里云规则):
   协议类型: TCP  
   端口范围: 80,443,3000,9000  
   授权对象: 0.0.0.0/0(或指定IP段提升安全性)
  1. SSH 登录服务器
    • Windows 用户:使用 PuTTY 或 PowerShell 的 ssh 命令。
    • Mac/Linux 用户:直接使用终端执行:

    ssh root@你的服务器IP  
    # 输入服务器密码(首次登录后建议设置SSH密钥登录)

第二章:Websoft9 面板安装与初始化

2.1 一键安装面板

  1. 执行安装脚本

    # 下载安装脚本(国内服务器可添加镜像加速参数)
    wget https://raw.githubusercontent.com/Websoft9/StackHub/main/scripts/install.sh
    # 添加执行权限并运行
    chmod +x install.sh
    sudo ./install.sh

    安装选项说明
    ◦ 自动安装 Docker、Nginx、MySQL 等依赖。
    ◦ 默认安装路径:/data/websoft9
    ◦ 安装日志路径:/var/log/websoft9_install.log(可查看错误信息)。

  2. 面板初始化
    • 安装完成后,浏览器访问:http://服务器IP:9000
    首次登录配置
    ◦ 设置管理员账号(建议密码复杂度:大小写+数字+符号)。
    ◦ 绑定邮箱(用于证书到期提醒等通知)。
    网络设置
    ◦ 进入「系统管理」>「网络」,检查端口状态是否为“已放行”。

2.2 域名解析(可选但推荐)

  1. 域名购买与备案
    • 国内服务器需完成域名ICP备案(阿里云/腾讯云提供备案服务)。
    • 海外服务器无需备案,可直接解析。
  2. 添加 DNS 解析记录
    • 登录域名服务商控制台,添加A记录:

    主机记录: chat(子域名,根据需求自定义)  
    记录类型: A  
    记录值: 服务器公网IP  
    TTL: 600秒(默认)

    • 验证解析是否生效:

    ping chat.yourdomain.com  # 查看是否返回服务器IP

第三章:LobeChat 部署实战

3.1 通过应用市场部署(推荐)

  1. 搜索并安装 LobeChat
    • 登录 Websoft9 面板,进入「应用市场」,搜索“LobeChat”。
    • 点击“安装”按钮,进入配置页面。
  2. 详细参数配置
    基础信息
    ◦ 应用名称:自定义(如 MyAIChat)。
    ◦ 域名:填写已解析的域名(如 chat.yourdomain.com)。
    端口设置
    ◦ 容器端口:3000(不可修改,镜像内固定)。
    ◦ 主机端口:3000(若冲突可改为其他端口,需同步调整安全组)。
    环境变量(关键配置):

    OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  # 必填  
    ACCESS_CODE=mysecret123  # 可选,用于访问控制  
    MODEL_PROVIDER=openai  # 默认OpenAI,可选azure,claude等  
    AZURE_API_VERSION=2023-05-15  # 如果使用Azure需填写  

    存储卷配置(持久化数据):
    ◦ 添加路径映射:容器内 /app/data 映射到主机 /data/lobe_data(防止容器重启数据丢失)。

  3. 启动与验证
    • 点击“提交”后,等待容器状态变为“运行中”。
    • 查看实时日志:进入容器详情页,检查是否有 Server listening on port 3000 日志。

3.2 手动部署(应用市场无镜像时)

  1. 创建自定义容器
    • 进入「容器」>「创建容器」,填写以下参数:

    镜像名称: lobehub/lobe-chat:latest  
    重启策略: Always(容器崩溃自动重启)  
    网络模式: bridge(默认)  
    端口映射: 3000:3000(主机端口:容器端口)  
    环境变量: 同3.1章节  
  2. 绑定域名与HTTPS
    • 进入「网站」>「添加站点」,配置反向代理:
    ◦ 域名:chat.yourdomain.com
    ◦ 代理目标:http://localhost:3000
    SSL证书配置
    ◦ 选择“Let's Encrypt免费证书”,勾选“强制HTTPS”。
    ◦ 证书自动续签:Websoft9 默认启用定时任务。

第四章:LobeChat 高级配置

4.1 接入多模型供应商

  1. Azure OpenAI 配置
    • 环境变量调整:

    MODEL_PROVIDER=azure  
    AZURE_API_KEY=你的Azure密钥  
    AZURE_API_VERSION=2023-05-15  
    AZURE_ENDPOINT=https://your-resource.openai.azure.com  
  2. Claude 模型支持
    • 注册 Anthropic 获取API密钥。
    • 添加环境变量:

    ANTHROPIC_API_KEY=sk-ant-xxx  

4.2 插件扩展

  1. 启用插件功能
    • 在 LobeChat 界面进入「设置」>「插件」,开启所需插件:
    联网搜索:需配置 SearXNG 自建搜索代理或使用付费API。
    图片生成:接入 Stable Diffusion API 或 Midjourney(需第三方服务支持)。
  2. 自定义插件开发
    • 参考 LobeChat Plugin SDK 开发私有插件。
    • 将插件代码挂载到容器内 /app/plugins 目录。

第五章:维护与故障排除

5.1 日常维护命令

  1. 备份数据

    # 压缩数据目录
    tar -czvf /backup/lobe_backup_$(date +%F).tar.gz /data/lobe_data
    # 上传至云存储(如AWS S3)
    aws s3 cp /backup/lobe_backup_2023-10-01.tar.gz s3://your-bucket/
  2. 监控资源占用
    • Websoft9 内置监控:查看「仪表盘」的 CPU/内存/磁盘图表。
    • 手动检查:

    htop  # 实时进程监控
    df -h  # 查看磁盘空间

5.2 常见问题处理

  1. API 密钥失效
    • 症状:对话返回 401 Unauthorized
    • 解决:重新生成密钥后,在 Websoft9 面板中更新环境变量并重启容器。
  2. 端口冲突
    • 症状:容器启动失败,日志显示 address already in use
    • 解决:

    lsof -i :3000  # 查看占用进程
    kill -9 PID    # 结束冲突进程
  3. 国内服务器访问OpenAI限制
    • 方案一:使用境外服务器反向代理 OpenAI API。
    • 方案二:替换为国内合规模型(如智谱AI、文心一言)。

附:LobeChat 效果验证

  1. 基础对话测试

    curl -X POST http://localhost:3000/api/chat \
    -H "Content-Type: application/json" \
    -d '{"message": "你好,请介绍你自己", "accessCode": "mysecret123"}'
    # 预期返回包含 "我是由LobeHub打造的AI助手"
  2. 性能压测(可选)
    使用 k6 模拟并发请求:

    import http from 'k6/http';
    export const options = { vus: 10, duration: '30s' };
    export default function () {
      http.post('http://chat.yourdomain.com/api/chat', JSON.stringify({
        message: "Hello",
        accessCode: "mysecret123"
      }), { headers: { 'Content-Type': 'application/json' } });
    }

通过以上步骤,您可完成从零开始的企业级 LobeChat 部署。如遇问题,可参考 LobeChat 官方文档 或加入 Websoft9 用户社区获取技术支持。


失眠的枇杷_es7Q7K
1 声望0 粉丝