SparkAi 部署文档教程,服务器宝塔安装和docker安装教程

部署准备

前需要准备这些内容、后续的升级部署将会在每个版本陆续追加、准备好对应内容将会使你的部署更顺畅

1.服务器

如果是新购买建议使用高版本系统、因为项目是基于node构建、高版本对NodeJs的支持更加友好

2.基础环境

因为是基于node的项目、如果您没有部署知识、我们会在文档中提供基于PM2的Node部署方式和基于Docker和docker-conpose的部署方式。你可以在两者之间选择。

    1. 如果使用docker部署前请安装好dockerdocker-compose

    1. 如果使用pm2部署请预先安装好nodejs > 16.16、安装好pnpm包管理器、安装好pm2

3.mysql

如果您不使用docker-compose部署的情况下、请自备mysql数据库!建议数据库版本使用高版本数据库、防止意外问题、演示站使用版本为8.0.20.

4.openai账号

一个gpt的账号是必须的、否则你可能不能使用基础服务

5.邮件服务

您需要准备一个smtp邮件服务、不限制平台、例如163qq腾讯云阿里云等等邮件服务、这也是必须的,有这些内容后才可以正常发送邮件

6.腾讯云对象存储账号

我们的图片资源、包含商品图片、用户信息、绘画图片等等内容需要存储在此、如果没有此内容、可能对图片无法正常保存。

7.redis

系统中需要使用redis服务 对应配置在env文件之中 如果你是宝塔用户 在面板商店里可以搜索redis一键安装即可 不需要任何配置

8.MJ账号

对于MJ绘画,我们需要准备一个账号、以便于使用官方的绘画服务!

9.百度统计账号

百度统计提供了免费的统计服务、我们只需要申请服务即可享受免费的流量统计,你可以自行前往百度统计官方平台申请、将用于首页的统计量访问图表展示、这是免费的服务、百度就可以找到很全面的教程、申请入口是这里:百度统计申请地址

10.百度翻译服务

我们不强制开通此服务、如果开通并且配置后、将会把绘画的描述词在服务端为你转化为英文、帮助其能更好的绘画出理想的图片、当然这不是必须的、不配置的情况我们默认不翻译、百度翻译服务申请地址、请申请通用文本翻译服务!

11.百度云敏感词服务

这也不是必须的、我们不强制你开启此服务、我们提供了自定义敏感词、当然我们个人的词库可能并不完善、为什么使用百度云(因为免费赠送五万条)、服务申请地址

12.微信登录 公众号互动

这里需要一个官方的公众号【必须是服务号】需要花费300、不强制、没有后台不配置则不展示微信登录、不提供微信交互!

如果您已经准备好了我们需要的东西、那么我们可以开始正式部署了

基础env环境配置

在代码中我们提供了基础 环境变量文件配置文件env.example,使用前先去掉后缀改为.env文件即可,
我们在env环境配置文件只需要配置如下东西。

    • 授权码授权ip配置

    • 邮件服务配置

    • mysql数据库
      这三项是基础配置、mysql与授权是必须的、在配置mysql与授权的情况下项目才可以启动成功、邮件服务可以后续追加。

项目部署(宝塔部署方式)

1.添加网站

一般我们使用宝塔进入到网站页面 点击添加网站 添加一个 你的域名

此时我们就创建了一个网站、此时我们点击这个域名打开

此时我们同样也在www/wwwroot目录中生成了同名的文件夹、我们点击侧边栏的文件进入到这个目录当中

我们进入到这个目录、可以通过上传文件或者通过命令下载的方式将源码传到这个目录、例如我们在终端直接下载源码

wget https://index.jiangly.com/NineAi/v2.3.0.zip

下载不同版本修改版本号即可

2.安装node环境

此时再次点开终端、我们需要去下载依赖包、在下载前确定我们需要有node环境

下载后你可以手动解压或者命令行解压、解压之后刷新我们就有全部文件了

node -v
npm -v
pnpm -v

可以检测是否有这些环境、如果有会是这样的

如果没有呢、就需要我们自己下载了:

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

sudo yum install nodejs -y

依次执行两条我们就可以安装好node环境(如果有就忽略)

然后安装pnpm、pm2如果有就忽略

npm i pm2 pnpm -g


此时我们环境准备完毕、需要配置env环境文件、将你的授权码和授权信息填入、然后去创建一个mysql数据库(数据库版本最低需要5.7|5.7是可以的)

其次去软件商店安装redis、默认安装不需要改任何配置即可、
将mysql、redis填入 .env文件、并且将文件后缀删掉、文件名字就是.env

3.终端执行任务

然后点开终端执行两步即可

pnpm i

pnpm start

两部执行完项目就启动成功了
项目默认是9520端口

我们可以输入pm2 log 查看详细日志、看到下图表示成功!


目前我们通过ip:9520就可以访问了、但是我们需要域名访问、所以前往最开始的添加网站添加一个方向代理即可、就可以通过域名访问网站了

只需要添加这样一个代理、我们就可以通过域名访问了

    • 默认前台地址: 域名地址

    • 默认后台地址: 域名地址/sparkai/admin

    • 默认管理员账号: super

此时我们就安装完成了


使用docker部署教程

部署

若服务器没有docker,请先安装,官方教程:https://docs.docker.com/engine/install

x86架构服务器(最新版v2.3.0)

目前市面上大多数服务器都是x86架构

1.复制下方的docker-compose.yml,修改好配置,并上传至你的服务器

version: '3'
services:
  sparkai:
    # 以后只需要修改此处的版本号即可更新镜像
    image: registry.cn-shanghai.aliyuncs.com/zimablue/nineai:v2.3.0
    container_name: nineai
    restart: always
    environment:
      # 服务器ip或域名
      sparkai_AI_HOST: xxx
      # 授权码
      sparkai_AI_KEY: xxx
      TZ: Asia/Shanghai

      # mysql
      DB_HOST: xxx
      DB_PORT: xxx
      DB_DATABASE: xxx
      DB_USER: xxx
      DB_PASS: xxx

      # Redis
      REDIS_HOST: xxx
      REDIS_PORT: xxx
      REDIS_PASSWORD: xxx

      #  mailer 邮件服务
      MAILER_HOST: xxx
      MAILER_PORT: xxx
      MAILER_USER: xxx
      MAILER_PASS: xxx
      MAILER_FROM: xxx

      # mj并发数
      CONCURRENCY: 3

      # jwt token
      JWT_SECRET: xxx
      # jwt token 过期时间
      JWT_EXPIRESIN: 7d
      # 自定义端口
      PORT: 9520
    ports:
      - "9520:9520"

2.在docker-compose.yml的同级目录执行

docker compose -f docker-compose.yml up -d

arm架构服务器(最新版v2.3.0)

常见arm服务器:树莓派,香橙派。。。

用法同上,只需将docker-compose.yml中的image换成

image: registry.cn-shanghai.aliyuncs.com/zimablue/nineai:v2.3.0-arm

后续版本更新

图片[1]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球

提示

1.若docker版本过低,可能会报错docker compose命令不存在,请尝试如下命令:

docker-compose -f docker-compose.yml up -d

如果你的服务器架构比较冷门,请提供服务器供编译docker镜像

常见问题

如何配置腾讯云对象存储cos

进入到腾讯云搜索对象存储、我们需要配置四个 参数、在秘钥管理里面可以拿到 SecretIdSecretKey
图片[2]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球

剩下两个参数分别是存储桶的名称和 节点位置您可以参考下图信息
图片[3]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球

如果还没有存储桶、请创建存储桶、权限选择公有读私有写即可、其他不限制。
配置完四个参数后、就可以使用存储服务了。

如何配置MJ的所有信息

mj对应了七个必填参数分别是下图
图片[4]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球

剩余两个参数
1: 接口单次限制时间、表示用户请求一次这个接口距离下次允许请求的限制时间
2: 系统默认携带了一个代理、如果你是国内服务器需要开启代理、如果是国外服务器则不需要代理

    • 参数获取方法
      得到MJ账号之后、参考此地址创建一个自己私人的服务器、并且邀请一个官方的机器人加入房间 https://zhuanlan.zhihu.com/p/603364613、这样就可以加入房间了、

    1. 先打开控制台。点击Network如果是中文就是网络那一栏

    1. 此时我们通过命令 /imagine命令 随便输入一点prompt词 比如下图
      图片[5]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球

然后发送控制台就会看到这样一条接口,如图
图片[6]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球
复制接口发送的内容、然后找个地方格式化一下就行、会得到如下内容
图片[7]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球
箭头上我们可以看到六个参数、还剩下一个token从请求头获取如图
图片[8]-SparkAi 部署文档教程,服务器宝塔安装和docker安装教程 - 欧鹿星球-欧鹿星球
此时我们得到了七个参数、将其填入MJ配置、他们的对应关系是

{
      application_id: '应用程序ID',
      guild_id: '工会ID',
      channel_id: '通道ID',
      session_id: '会话ID',
      version: '版本ID',
      id: 'ID信息',
      authorization: '授权令牌',
    };

按照此内容填写即可。
使用MJ绘画的前提是已经配置了COS存储服务

为什么没有流式回复

如果使用pm2部署或者使用传统的Node部署、使用了nginx解析了域名、但是没有流式输出、请在nginx中添加

 proxy_buffering off;

如何配置百度统计

文档地址

为什么没有流式回复

如果使用pm2部署或者使用传统的Node部署、使用了nginx解析了域名、但是没有流式输出、请在nginx中添加

 proxy_buffering off;

默认端口是多少、我可以修改么?

env文件中、您可以指定您的端口、我们默认为9520端口。

启动地址是什么、我怎么启动?

当你的项目成功运行之后、我们默认的地址是您的IP+端口即可启动用户端、管理端则是ip+端口/admin即可访问管理端!

默认账号是什么、我怎么登陆

参考上图、项目启动过程中我们默认为您生成了两个账号

    1. admin演示账号,只有查询缺陷没有查改删权限、类似演示地址演示账号 admin 123456

    1. 超级管理员账号, 拥有全部权限 账号 super 密码 nine-super

我如何修改账号用户名密码

目前由于时间原因、我们在管理端的修改信息入口暂未开放、如果需要修改您的管理账号密码可以前往用户端、登录后可以前往个人中心修改您的账户密码

用户端提示未配置key、不能聊天怎么办?

我们在后台管理中有key池管理、您需要至少配置一个gpt的key才可以正常使用聊天和DALL-E2绘画功能!

用户注册不能发送邮件怎么办?

在启动项目的env文件中需要配置您的smtp服务信息、配置您的发件信息才可以完成邮件的发送、如果只是个人使用、那么管理员账号和admin账号就可以直接登录使用了!

聊天接口一直未响应怎么办?添加key获取不到模型怎么办?

如果你是国外服务器可能不存在这个问题、如果是国内服务器会无法连接openai的网络、请前往后台的 => 系统设置 => 接口设置填写代理地址、既可正常访问、添加key获取不到模型也是同理。

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容