提交 22ec033c 编写于 作者: JiaRongPing's avatar JiaRongPing

fix: uniCloud 软件版说明文档更新

上级 e1159ee4
# uniCloud 私有云
# uniCloud 软件版
## 产品介绍
[uniCloud官网](https://doc.dcloud.net.cn/uniCloud/)介绍的uniCloud,默认都是`uniCloud公有云`
[uniCloud官网](https://doc.dcloud.net.cn/uniCloud/)介绍的uniCloud,默认都是`uniCloud serverless版`
`uniCloud公有云`基于云计算的`serverless`技术实现,后端逻辑代码运行在云厂商的公有云服务器(容器)中,服务器(容器)不跟具体开发者关联绑定,会随着终端用户量的变化自动弹性增减或收缩,开发者对服务器的具体型号、配置等无感。
`uniCloud serverless版`基于云计算的`serverless`技术实现,后端逻辑代码运行在云厂商的公有云服务器(容器)中,服务器(容器)不跟具体开发者关联绑定,会随着终端用户量的变化自动弹性增减或收缩,开发者对服务器的具体型号、配置等无感。
现实中,部分开发者因合规要求(如数据必须在公司内网),或需要对后端服务器有更强的可控性,希望uniCloud能部署在自己机房内或自己的云厂商账号下,因此,`uniCloud私有云`应运而生。
现实中,部分开发者因合规要求(如数据必须在公司内网),或需要对后端服务器有更强的可控性,希望uniCloud能部署在自己机房内或自己的云厂商账号下,因此,`uniCloud软件版`应运而生。
### uniCloud私有云有哪些特点?
### uniCloud软件版有哪些特点?
从开发工具、API、生态各维度,私有云和公有云版没有差别。开发者基于公有云版编写的uniCloud项目源码,可以平滑部署到私有云,前端uni-app代码、后端云函数、云对象等代码,均无需修改。
从开发工具、API、生态各维度,软件版和serverless版没有差别。开发者基于serverless版编写的uniCloud项目源码,可以平滑部署到软件版,前端uni-app代码、后端云函数、云对象等代码,均无需修改。
相比公有云版,`uniCloud私有云`最主要的差别如下:
相比serverless版,`软件版`最主要的差别如下:
- 开发者需要单独购买服务器,自己安装操作系统(目前仅支持`linux`操作系统);
- 开发者自己购买云存储、开通CDN加速产品;
- 开发者自己安装数据库,或者购买mongodb实例;
- 开发者自己处理负载均衡,自己负责日常运维。
而如上工作,`uniCloud公有云版`均无需进行,公有云版通过`服务空间`的概念,将云函数、云存储、云数据库统一封装,开发者可一键开通所有业务,不需要额外去开通云存储及CDN,也无需去安装或购买云数据库实例。
而如上工作,`serverless版`均无需进行,serverless版通过`服务空间`的概念,将云函数、云存储、云数据库统一封装,开发者可一键开通所有业务,不需要额外去开通云存储及CDN,也无需去安装或购买云数据库实例。
进一步解释,uniCloud私有云实际上是一个`支持uniCloud语法的Node开发框架`
进一步解释,uniCloud软件版实际上是一个`支持uniCloud语法的Node开发框架`
你可以更具象化理解:uniCloud私有云就是`支持uniCloud语法的类Egg.js框架`
你可以更具象化理解:uniCloud软件版就是`支持uniCloud语法的类Egg.js框架`
> 和Egg.js框架差异:uniCloud私有云内置有定制版本的Node.js运行时,并且仅可在内置的定制Node.js上运行,不支持使用开发者安装的Node.js环境。
> 和Egg.js框架差异:uniCloud软件版内置有定制版本的Node.js运行时,并且仅可在内置的定制Node.js上运行,不支持使用开发者安装的Node.js环境。
uniCloud私有云,作为一个开发框架,仅负责云函数、云对象的执行,支持在云函数中连接开发者自己的对象存储和数据库。而这些对象存储和数据库,需要开发者自己去购买开通,uniCloud私有云本身没有内置。
uniCloud软件版,作为一个开发框架,仅负责云函数、云对象的执行,支持在云函数中连接开发者自己的对象存储和数据库。而这些对象存储和数据库,需要开发者自己去购买开通,uniCloud软件版本身没有内置。
存储方面,uniCloud私有云目前支持如下3种存储方案:
- 本地存储:文件存储和uniCloud私有云在同一台服务器上;
存储方面,uniCloud软件版目前支持如下3种存储方案:
- 本地存储:文件存储和uniCloud软件版在同一台服务器上;
- 阿里云OSS
- 腾讯云COS
数据库方面,uniCloud私有云仅支持`mongodb`,支持uniCloud本地服务器上安装的mongodb,也支持在云厂商购买单独的mongodb实例。
数据库方面,uniCloud软件版仅支持`mongodb`,支持本地服务器上安装的mongodb,也支持在云厂商购买单独的mongodb实例。
## 安装指南
::: warning 注意
1. 为了与公有云保持一致,私有云目前仅支持`mongo 4.0` 版本
2. uniCloud私有云内置的定制`node.js`版本为`16.20.2`
1. 为了与serverless版保持一致,软件版目前仅支持`mongo 4.0` 版本
2. uniCloud软件版内置的定制`node.js`版本为`16.20.2`
:::
### 获取安装软件
uniCloud私有云是付费软件,你需要先发邮件到`bd@dcloud.io`,通过商务采购后才能获得。
uniCloud软件版是付费软件,你需要先发邮件到`bd@dcloud.io`,通过商务采购后才能获得。
获得安装软件后,你需要将安装包上传到自己的服务器,然后登录服务器,进行文件解压;
......@@ -58,7 +58,7 @@ tar -zxvf [version].tar.gz -C /uniCloud
### 获取激活license
uniCloud私有云的license是和服务器硬件绑定的,激活软件之前需要先执行扫描操作:
uniCloud软件版的license是和服务器硬件绑定的,激活软件之前需要先执行扫描操作:
- 下载[uniCloud-scan](https://web-ext-storage.dcloud.net.cn/unicloud/private/tools/get-hardware-id)
- 上传 uniCloud-scan到服务器
- 在服务器上执行`./uniCloud-scan`
......@@ -67,7 +67,7 @@ uniCloud私有云的license是和服务器硬件绑定的,激活软件之前
### 启动/关闭软件
> 所有命令请在私有云环境根目录运行
> 所有命令请在软件版环境根目录运行
启动
......@@ -82,9 +82,9 @@ uniCloud私有云的license是和服务器硬件绑定的,激活软件之前
### 创建服务空间
为了和公有云版保持一致的开发体验,你需要创建服务空间:
- 登录[uniCloud控制台](https://unicloud.dcloud.net.cn/) 创建私有云服务空间,复制新建空间的SpaceId
- 登录uniCloud私有云服务器,创建空间目录:
为了和serverless版保持一致的开发体验,你需要创建服务空间:
- 登录[uniCloud控制台](https://unicloud.dcloud.net.cn/) 创建DCloud服务空间,复制新建空间的SpaceId
- 登录部署uniCloud软件版的服务器,创建空间目录:
```
cd /uniCloud/spaces/
mkdir [SpaceId]
......@@ -94,11 +94,11 @@ mkdir [SpaceId]
在你的服务空间目录下创建`config.json`配置文件,文件内容如下:
```js
```json
//下方为配置示例,如拷贝此内容切记去除注释
{
"default": true, //是否为默认服务空间,一套私有云环境下,只能有一个默认服务空间
"spaceId": "pvt-xxx",//私有云服务空间编号,可在uniCloud控制台查看
"default": true, //是否为默认服务空间,一套uniCloud软件版环境下,只能有一个默认服务空间
"spaceId": "pvt-xxx",//DCloud服务空间编号,可在uniCloud控制台查看
"startAsDaemon": true, // 是否在后台运行; 默认 true
"port": 7001, //端口号,可自定义,同一台服务器下,各服务空间的端口号不可重复
"clientSecret": "xxx",//客户端通讯密钥
......@@ -118,7 +118,7 @@ mkdir [SpaceId]
"storageSecret": "xxxxxxxxxx",//本地存储服务访问密钥
},
"logger": { //日志服务配置
"customLogDir": "/private-cloud-env/logs" //私有云环境日志存储路径
"customLogDir": "/private-cloud-env/logs" //uniCloud软件版环境日志存储路径
},
"redis": {//redis库配置,如项目未使用redis服务可不配置此项
"host": "127.0.0.1",//redis连接
......@@ -149,11 +149,11 @@ mkdir [SpaceId]
### 使用HBuilerX开发调试
> 私有云暂不支持`oss`、`cos`等存储服务的本地调试。
> 软件版暂不支持`oss`、`cos`等存储服务的本地调试。
#### 安装override插件包
私有云环境的`mongo``redis`等数据库是由开发者自行购买或安装的,因此要想在`HBuilderX`中连接这些服务,需安装相关的插件包和npm依赖,并为项目添加数据库等服务的配置文件。
软件版环境的`mongo``redis`等数据库是由开发者自行购买或安装的,因此要想在`HBuilderX`中连接这些服务,需安装相关的插件包和npm依赖,并为项目添加数据库等服务的配置文件。
1. 下载并解压`override插件包`,插件包可联系`DCloud`工作人员获取。
......@@ -164,24 +164,24 @@ mkdir [SpaceId]
#### 关联服务空间
`HBuilderX`中运行`uniCloud项目`,必须关联服务空间,但HBuilderX暂不支持关联私有服务空间,此时你需要按照如下操作进行:
`HBuilderX`中运行`uniCloud项目`,必须关联服务空间,但HBuilderX暂不支持关联DCloud服务空间,此时你需要按照如下操作进行:
- 创建一个免费的公有云服务空间,仅做为关联使用,无需担心费用;
- 修改配置文件:`vue2项目`的配置文件为:`vue.config.js``vue3项目`的配置文件为:`vite.config.js`,内容如下:
```js
//客户端私有云服务空间连接配置示例
//客户端DCloud服务空间连接配置示例
process.env.UNI_CLOUD_PROVIDER = JSON.stringify([{
provider: 'private',//声明为私有云服务
provider: 'dcloud',//声明为DCloud服务空间
spaceName: 'private-space',//服务空间名称
spaceId: 'pvt-xxx', //服务空间编号
clientSecret: 'ba461799-fde8-429f-8cc4-4b6d306e2339',//客户端通讯密钥
endpoint: 'http://127.0.0.1:7001'//私有云服务器的访问地址
endpoint: 'http://127.0.0.1:7001'//DCloud服务空间的访问地址
}])
```
关于spaceId、clientSecret等私有云服务空间相关信息,可在[uniCloud控制台](https://unicloud.dcloud.net.cn/)查看。
关于spaceId、clientSecret等DCloud服务空间相关信息,可在[uniCloud控制台](https://unicloud.dcloud.net.cn/)查看。
HBuilderX会尽快发版,支持关联私有云的服务空间。
HBuilderX会尽快发版,支持关联DCloud服务空间。
#### 配置数据库链接
......@@ -248,3 +248,34 @@ http {
}
```
### 防火墙白名单配置
若你的服务器开启了防火墙功能,且需要访问如:`uniCloud软件版(联网版)``短信``一键登录``uni-ai``实人认证``uni-push`等在线业务,则需要将这些业务的API域名,添加到防火墙白名单中。
`CentOS系统`为例,配置方式如下
```conf
# 添加域名白名单,实际配置时,请将 “DCloud API域名1/2” 替换为具体域名
sudo firewall-cmd --permanent --zone=public --add-rich-rules='rule family="ipv4" source address="DCloud API域名1" accept'
sudo firewall-cmd --permanent --zone=public --add-rich-rules='rule family="ipv4" source address="DCloud API域名2" accept'
# 添加更多域名...
# 重新加载firewalld配置:
sudo firewall-cmd --reload
```
#### 各业务API域名
- uniCloud软件版(联网版)及付费业务API域名
- - pucoa1.dcloud.net.cn
- - pucoa2.dcloud.net.cn
- - pucoabk.dcloud.net.cn
- uni-push业务API域名
- - restapi.getui.com
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册