AIHub服务部署与升级

一、新环境搭建步骤

  1. 安装python和Git

    请自行安装python和Git。
    项目部署路径为 /home/uwsgi/,使用Git拉取代码:

    cd /home/uwsgi/
    git clone https://gitee.com/cstcloud-cnic/aihub.git
  2. 安装python运行环境

    使用系统python3.11+环境,在代码工程根目录下运行命令:

    pip3 install -r 00_script/depend/requirements.txt
  3. 安全敏感信息配置文件

    • 复制安全信息配置demo文件security_demo.py,并命名文件名为security.py,根据自己情况完成配置。配置项主要包括 数据库、邮箱配置;
  4. 数据库安装

    数据库和版本支持MySQL(8.0+)、MariaDB(10.4+)和TiDB(7.5.0+),请自行安装mysql、Mariadb或TiDB数据库,根据自己的情况修改security.py文件中数据库的配置项。

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # mysql数据库引擎
        # 'ENGINE': 'django_tidb',    # TiDB数据库
        'NAME': 'xxx',  # 数据的库名,事先要创建之
        'HOST': '127.0.0.1',  # 主机
        'PORT': '3306',  # 数据库使用的端口
        'USER': 'xxx',  # 数据库用户名
        'PASSWORD': 'xxx',  # 密码
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            'charset': 'utf8mb4'
        }
    },
    }

    特别注意

    创建数据库时,数据库字符集(CHARACTER)使用“utf8mb4”,字符集校对(COLLATION)推荐“utf8mb4_bin”。
    通过sql导入旧数据库数据时请一定确保旧数据库和新建数据库的字符集校对一致,例如必须同时为“utf8mb4_bin”,或者同时为“utf8mb4_general_ci”。因为表主键id是字符串型,后续新建表外键字符集校对会跟随新数据库,如果通过sql导入的旧表和新表字符集校对不一致,创建外键约束会失败。
    `CREATE DATABASE `aihub` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;`

  5. 运行服务

    • 下面推荐一种部署方式,Python3.11+、Nginx、uwsgi。

    • 数据库迁移,在项目根目录下运行如下命令完成数据库迁移。

      # 可以加参数 --plan 先查看将执行的迁移计划
      python3 manage.py migrate --plan
      # 执行数据库迁移
      python3 manage.py migrate
    • 收集静态文件

      python3 manage.py collectstatic --noinput
    • 项目根目录下00_script目录中有uwsgi的配置文件和几个sh脚本可以方便控制uwsgi启动关闭;

    • 也可以使用systemctl管理服务,执行一下脚本config_systemctl.sh,会配置好 aihub.service服务;

      ./00_script/config_systemctl.sh
      systemctl start/stop/reload aihub.service
    • 站点参数配置

    一些站点服务的配置项需要在admin后台(全局配置 > 站点参数)完成配置,包括服务名称、AAI认证、JWT公钥等相关配置。

    AAI登录认证
    如果要开启本登录认证,需要先去AAI认证服务提交接人申请,然后完成AAI登录相关的参数配置。

    云坤JWT认证(AAI)
    需要去对应的云坤认证服务添加本服务的回调地址白名单,然后在后台“站点参数”配置云坤认证要显示的名称、本服务的地址、云坤认证服务地址和云坤认证服务的JWT公钥。


AIHub v0.6.1升级到v0.7.0版本步骤

【注意事项】

  • 升级涉及版本:

    v0.7.0,发布时间: 2025-07-08;

  • 做好数据备份,需要数据库迁移,增加 AI对话用户白名单 模型;

【升级步骤】:

  1. 进入项目根目录下(cd /home/uwsgi/aihub/),执行命令 systemctl stop aihub.service 停止服务;

  2. 更新代码

    • 使用命令 git status 查看本地代码是否有改动,如果有改动先执行命令 git stash 暂存改动;
    • 执行命令 git checkout master 切换到主分支;
    • 执行命令 git fetch origin --tags 拉取版本信息;
    • 执行命令 git pull origin master 拉取maste主分支最新代码;
    • 如果 上面执行了 git stash暂存了改动,可以执行 git stash pop 把暂存的改动恢复;
  3. 服务升级

    • 执行命令 pip3 install -r 00_script/depend/requirements.txt 安装更新环境依赖包;
    • 执行命令 python3 manage.py migrate 完成可能的数据库迁移,可以加参数--plan先查看迁移计划,会有哪些数据库迁移操作;
    • 执行命令 python3 manage.py collectstatic --noinput 收集静态文件;
  4. 执行命令 systemctl start aihub.service 启动服务;


类别: