下载源码后,进入源码目录,根据系统环境选择执行脚本
-
Windows 使用 PowerShell 执行 install.ps1 脚本进行一键安装
-
Unix/Linux 使用 bash 执行 install.sh 脚本进行一键安装
安装过程中需按照提示输入对应的参数以生成服务配置文件,可根据业务实际情况输入,支持的配置参数如下:
-
SECRET_ID:腾讯云帐号的 SecretId,可在 API 密钥管理 中获取
-
SECRET_KEY:腾讯云帐号的 SecretKey,可在 API 密钥管理 中获取
-
API_SIGN:是否开启请求参数校验,默认为不开启,建议业务上线后开启请求参数校验保证数据安全
如开启则需要填写签名混淆密钥 SALT,不开启则无需填写
-
SALT:接口的签名 Key,注意保密。开启后请求参数需要增加 sign 参数,sign 根据 SALT 生成(sign 参数具体生成规则见下文)
-
REDIS_QUEUE:是否开启 redis 队列存储方式,默认为不开启,使用内存队列存储,建议业务上线后开启 redis 队列存储实现多机部署
如开启则需要填写 redis 服务地址和密码,不开启则无需填写
-
REDIS:redis 服务连接地址
-
REDIS_PWD:redis 服务密码,如果没有密码可为空
配置项输入完成后会自动启动服务,控制台如输出 car-server-demo@0.0.0 start 则表示启动成功
默认请求地址为 http://ip:3000/xxx
后续需要启动服务也可以在命令行下输入
npm run start
如需要免环境变量启动,执行
node install.js
生成服务配置文件 config.json,再执行生成镜像
chmod 777 build.sh && ./build.sh
免环境变量启动:
docker run -d -p3000:3000 cgserver
使用环境变量输入参数(如已生成 config.json, 不需要再设置环境变量):
docker run -d -p3000:3000 -e SECRET_KEY=xxx -e SECRET_ID=yyy cgserver
支持的环境变量如下:
-
SECRET_ID:腾讯云帐号的 SecretId,可在 API 密钥管理 中获取
-
SECRET_KEY:腾讯云帐号的 SecretKey,可在 API 密钥管理 中获取
-
API_SIGN:是否开启请求参数校验,默认为不开启,建议业务上线后开启请求参数校验保证数据安全
如开启则需要填写签名混淆密钥 SALT,不开启则无需填写
-
SALT:接口的签名 Key,注意保密。开启后请求参数需要增加 sign 参数,sign 根据 SALT 生成(sign 参数具体生成规则见下文)
-
REDIS_QUEUE:是否开启 redis 队列存储方式,默认为不开启,使用内存队列存储,建议业务上线后开启 redis 队列存储实现多机部署
如开启则需要填写 redis 服务地址和密码,不开启则无需填写
-
REDIS:redis 服务连接地址
-
REDIS_PWD:redis 服务密码,如果没有密码可为空
- 请求方法:HTTP POST
- 数据类型:JSON
- 默认请求端口 3000,如需改为其他端口,修改 bin/www 里面的端口值并重启服务即可
- 控制台请求服务示例:
curl -X POST --data "ClientSession=xxx&RequestId=req123&UserId=userid123&ProjectId=cap-xxx&Sign=xxxx" http://127.0.0.1:3000/StartProject
-
路径:
/StartProject
-
描述:启动应用,直接调用此接口不会进入排队流程
-
请求
字段 | 类型 | 必要 | 描述 |
---|---|---|---|
UserId | string | 是 | 用户 ID,业务自定义生成,不同用户需要生成不同 UserId 来区分 |
ProjectId | string | 是 | 项目 ID,应用云渲染项目创建时生成,项目管理 中获取,格式为 cap-xxx |
ApplicationId | string | 否 | 应用 ID,多应用共享项目请求时有效,应用云渲染应用创建时生成,应用管理 中获取,格式为 app-xxx |
ApplicationVersionId | string | 否 | 应用版本 ID,应用云渲染应用创建时生成,应用管理 中获取,格式为 ver-xxx |
ClientSession | string | 是 | 客户端会话描述 |
RequestId | string | 否 | 请求 ID,业务自定义生成,可用于业务区分不同请求 |
Sign | string | 开启校验则必要 | 请求校验参数 计算方式:SHA256(字段名排序后取字段值,并拼接成字符串,最后再拼接上签名混淆密钥 SALT) |
- 响应
字段 | 类型 | 描述 |
---|---|---|
Code | number | 返回码 |
Msg | string | 描述信息 |
RequestId | string | 业务请求 ID |
SessionDescribe | object | webrtc 会话信息 |
- SessionDescribe 结构
字段 | 类型 | 描述 |
---|---|---|
ServerSession | string | 服务端会话 |
RequestId | string | 应用云渲染服务云 API 请求 ID |
-
路径:
/StopProject
-
描述:主动释放云应用并发
-
请求
字段 | 类型 | 必要 | 描述 |
---|---|---|---|
UserId | string | 是 | 用户 ID,业务自定义生成,不同用户需要生成不同 UserId 来区分 |
RequestId | string | 否 | 请求 ID,业务自定义生成,可用于业务区分不同请求 |
Sign | string | 开启校验则必要 | 请求校验参数 计算方式:SHA256(字段名排序后取字段值,并拼接成字符串,最后再拼接上签名混淆密钥 SALT) |
- 响应
字段 | 类型 | 描述 |
---|---|---|
Code | number | 返回码 |
Msg | string | 描述信息 |
RequestId | string | 业务请求 ID |
-
路径:
/Enqueue
-
描述:加入排队,成功后会返回当前队列位置,当返回码为 10101 时代表排队完成,需要再调用 StartProject 进行应用启动
-
请求
字段 | 类型 | 必要 | 描述 |
---|---|---|---|
UserId | string | 是 | 用户 ID,业务自定义生成,不同用户需要生成不同 UserId 来区分 |
ProjectId | string | 是 | 项目 ID,应用云渲染项目创建时生成,项目管理 中获取,格式为 cap-xxx |
ApplicationId | string | 否 | 应用 ID,多应用共享项目请求时有效,应用云渲染应用创建时生成,应用管理 中获取,格式为 app-xxx |
ApplicationVersionId | string | 否 | 应用版本 ID,应用云渲染应用创建时生成,应用管理 中获取,格式为 ver-xxx |
RequestId | string | 否 | 请求 ID,业务自定义生成,可用于业务区分不同请求 |
Sign | string | 开启校验则必要 | 请求校验参数 计算方式:SHA256(字段名排序后取字段值,并拼接成字符串,最后再拼接上签名混淆密钥 SALT) |
- 响应
字段 | 类型 | 描述 |
---|---|---|
Code | number | 返回码 |
Msg | string | 描述信息 |
RequestId | string | 业务请求 ID |
Data | object | 队列消息 |
- Data 结构
字段 | 类型 | 描述 |
---|---|---|
Index | number | 队列序号 |
UserId | string | 用户 ID |
ProjectId | string | 项目 ID |
-
路径:
/Dequeue
-
描述:退出当前进行中的排队流程
-
请求
字段 | 类型 | 必要 | 描述 |
---|---|---|---|
UserId | string | 是 | 用户 ID,业务自定义生成,不同用户需要生成不同 UserId 来区分 |
RequestId | string | 否 | 请求 ID,业务自定义生成,可用于业务区分不同请求 |
Sign | string | 开启校验则必要 | 请求校验参数 计算方式:SHA256(字段名排序后取字段值,并拼接成字符串,最后再拼接上签名混淆密钥 SALT) |
- 响应
字段 | 类型 | 描述 |
---|---|---|
Code | number | 返回码 |
Msg | string | 描述信息 |
RequestId | string | 业务请求 ID |
Code | 描述 |
---|---|
0 | 请求成功 |
10000 | sign 校验错误 |
10001 | 缺少必要参数 |
10100 | 排队进行中,需要继续请求获取队列位置更新 |
10101 | 排队完成 |
10200 | 创建应用云渲染会话失败 |
10201 | 释放应用云渲染会话失败 |
10202 | 申请并发失败 |