提交 cb7860f0 编写于 作者: crlfe's avatar crlfe 😲

update: unicloud-private-env.md

上级 8ddb540d
# uniCloud软件版
# uni云开发软件版
## 产品介绍
......@@ -6,11 +6,11 @@
`uniCloud serverless版`基于云计算的`serverless`技术实现,后端逻辑代码运行在云厂商的服务器(容器)中,服务器(容器)不跟具体开发者关联绑定,会随着终端用户量的变化自动弹性扩缩容,开发者对服务器的具体型号、配置等无感。
现实中,部分开发者因合规要求(如数据必须在公司内网),或需要对后端服务器有更强的可控性,希望uniCloud能部署在自己机房内或自己的云厂商账号下,因此,`uniCloud软件版`应运而生。
现实中,部分开发者因合规要求(如数据必须在公司内网),或需要对后端服务器有更强的可控性,希望uniCloud能部署在自己机房内或自己的云厂商账号下,因此,`uni云开发软件版`应运而生。
### 产品特征
从开发工具、API、生态各维度,uniCloud软件版和serverless版没有差别。开发者基于serverless版编写的uniCloud项目源码,可以平滑部署到软件版,前端uni-app代码、后端云函数、云对象等代码,均无需修改。
从开发工具、API、生态各维度,uni云开发软件版和serverless版没有差别。开发者基于serverless版编写的uniCloud项目源码,可以平滑部署到软件版,前端uni-app代码、后端云函数、云对象等代码,均无需修改。
相比serverless版,软件版最主要的差别如下:
......@@ -21,27 +21,27 @@
而如上工作,serverless版均无需进行,serverless版通过`服务空间`的概念,将云函数、云存储、云数据库统一封装,开发者可一键开通所有业务,不需要额外去开通云存储、CDN,也无需去安装或购买云数据库实例。
进一步解释,uniCloud软件版实际上是一个`支持uniCloud语法的Node开发框架`
进一步解释,uni云开发软件版实际上是一个`支持uniCloud语法的Node开发框架`
你可以更具象化理解:uniCloud软件版就是`支持uniCloud语法的类Egg.js框架`
你可以更具象化理解:uni云开发软件版就是`支持uniCloud语法的类Egg.js框架`
> 和Egg.js框架差异:uniCloud软件版内置有定制版本的Node.js运行时,并且仅可在内置的定制Node.js上运行,不支持使用开发者安装的Node.js环境。
> 和Egg.js框架差异:uni云开发软件版内置有定制版本的Node.js运行时,并且仅可在内置的定制Node.js上运行,不支持使用开发者安装的Node.js环境。
uniCloud软件版,作为一个开发框架,仅负责云函数、云对象的执行,支持在云函数中连接开发者自己的对象存储和数据库。
而这些对象存储和数据库,需要开发者自己去购买开通,uniCloud软件版本身没有内置。
uni云开发软件版,作为一个开发框架,仅负责云函数、云对象的执行,支持在云函数中连接开发者自己的对象存储和数据库。
而这些对象存储和数据库,需要开发者自己去购买开通,uni云开发软件版本身没有内置。
存储方面,uniCloud软件版目前支持如下3种存储方案:
存储方面,uni云开发软件版目前支持如下3种存储方案:
- 本地存储:文件存储和uniCloud软件版在同一台服务器上;
- 本地存储:文件存储和uni云开发软件版在同一台服务器上;
- 阿里云OSS
- 腾讯云COS
数据库方面,uniCloud软件版仅支持`mongodb`,支持本地服务器上安装的mongodb,也支持在云厂商购买单独的mongodb实例。
数据库方面,uni云开发软件版仅支持`mongodb`,支持本地服务器上安装的mongodb,也支持在云厂商购买单独的mongodb实例。
::: warning 注意
1. 为了与serverless版保持一致,uniCloud软件版目前仅支持`mongo 4.0` 版本
2. uniCloud软件版内置的定制`node.js`版本为`16.20.2`
1. 为了与serverless版保持一致,uni云开发软件版目前仅支持`mongo 4.0` 版本
2. uni云开发软件版内置的定制`node.js`版本为`16.20.2`
:::
......@@ -55,28 +55,30 @@ uniCloud软件版,作为一个开发框架,仅负责云函数、云对象的
**服务器**
服务器即实体服务器或虚拟机,uniCloud软件版安装在每台具体的服务器上。
服务器即实体服务器或虚拟机,uni云开发软件版安装在每台具体的服务器上。
每台服务器均需购买商业授权。
**应用**
应用即DCloud产品体系下App概念,每个应用都有AppID,格式如:`__UNI__XXX`
比如论坛App:
- 面向用户端的是一个应用,有自己的AppID;
- 面向管理者/运营人员的是另一个应用,有自己另外的AppID。
- 这两个应用会绑定同一服务空间,访问相同的数据库。
**商业授权**
uniCloud软件版的商业授权,分为服务器授权和应用授权,安装uniCloud软件版的每台服务器均需购买商业授权,每个上线的应用也需要购买应用授权。
uni云开发软件版的商业授权,分为服务器授权和应用授权,安装uni云开发软件版的每台服务器均需购买商业授权,每个上线的应用也需要购买应用授权。
场景举例:
- 如果你的用户量很大,单台服务器无法承载,你希望增加额外服务器做负载,此时增加的每台服务器,均需单独购买服务器授权。双机热备的服务器,也需要分别购买服务器授权。
- 如果你的业务用户量不大(比如内部系统),你希望将多个业务系统部署在同一台服务器上运行,此时你需要单独购买应用授权。
### 产品版本及价格
uniCloud软件版分为标准版、企业版两个规格,具体如下:
uni云开发软件版分为标准版、企业版两个规格,具体如下:
| |标准版 |企业版 |
|-- |-- |-- |
......@@ -132,27 +134,27 @@ free -h
df -h
```
### 获取并安装uniCloud软件版
### 获取并安装uni云开发软件版
::: warning 注意
1. uniCloud软件版仅面向企业认证用户开放下载,个人认证用户若想升级为企业类型,可参考[实名认证信息变更](https://ask.dcloud.net.cn/article/39729)
1. uni云开发软件版仅面向企业认证用户开放下载,个人认证用户若想升级为企业类型,可参考[实名认证信息变更](https://ask.dcloud.net.cn/article/39729)
2. 每次下载的安装包都是为当前账号单独生成的,内含账号的指纹信息,请勿进行破解、扩散等侵犯DCloud知识产权的行为,否则DCloud将会通过法律途径维护自己的合法权益。
:::
登录uniCloud控制台,按图所示进入uniCloud软件版页面
登录uniCloud控制台,按图所示进入uni云开发软件版页面
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031627806.png)
初次使用,需先确认uniCloud软件版的服务协议。
初次使用,需先确认uni云开发软件版的服务协议。
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031634663.png)
同意并开通后,进入uniCloud软件版集群列表
同意并开通后,进入uni云开发软件版集群列表
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031639818.png)
创建一个[集群](),创建成功后,稍等片刻,云端会在10分钟内为你构建专属uniCloud软件版安装包。
创建一个[集群](),创建成功后,稍等片刻,云端会在10分钟内为你构建专属uni云开发软件版安装包。
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031626507.png)
......@@ -160,10 +162,10 @@ df -h
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031644365.png)
将安装包上传到服务器并进行解压,推荐目录为`~/uniCloud`,后文为方便表述,我们以`${uniCloud_HOME}`代指uniCloud软件版的安装根目录。
将安装包上传到服务器并进行解压,推荐目录为`~/uniCloud`,后文为方便表述,我们以`${uniCloud_HOME}`代指uni云开发软件版的安装根目录。
```
# 创建uniCloud安装目录,${uniCloud_HOME} 代指uniCloud软件版的安装根目录,如:mkdir ~/uniCloud
# 创建uniCloud安装目录,${uniCloud_HOME} 代指uni云开发软件版的安装根目录,如:mkdir ~/uniCloud
mkdir ${uniCloud_HOME}
# 解压安装包
tar -zxvf [version].tar.gz -C ${uniCloud_HOME}
......@@ -173,11 +175,11 @@ tar -zxvf [version].tar.gz -C ${uniCloud_HOME}
为了和serverless版保持开发体验一致,软件版也有服务空间的概念设计;需要先创建集群,然后再创建服务空间。
登录[uniCloud控制台](https://unicloud.dcloud.net.cn/) ,新建服务空间,版本选择`uniCloud软件版`,绑定已创建的集群,完成服务空间的创建。
登录[uniCloud控制台](https://unicloud.dcloud.net.cn/) ,新建服务空间,版本选择`uni云开发软件版`,绑定已创建的集群,完成服务空间的创建。
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031939942.png)
复制服务空间ID,回到你的服务器上,在uniCloud软件版根目录下使用以下命令创建对应的服务空间目录:
复制服务空间ID,回到你的服务器上,在uni云开发软件版根目录下使用以下命令创建对应的服务空间目录:
```
cd ${uniCloud_HOME}
......@@ -188,7 +190,6 @@ cd ${uniCloud_HOME}
接下来,你需要在服务器上,根据自己的具体情况,通过`config.json`配置mongodb数据库、文件存储、redis等,config.json的完整配置及解释,[参考](#config)
### 启动服务
```
......@@ -208,34 +209,34 @@ cd ${uniCloud_HOME}
#### 服务器授权
uniCloud软件版启动时,会自动向DCloud进行注册,默认为试用版,试用有效期为15天。
uni云开发软件版启动时,会自动向DCloud进行注册,默认为试用版,试用有效期为15天。
每个账号每年(自然年)有5次试用机会,即允许在5台服务器上运行未激活的uniCloud软件版。
每个账号每年(自然年)有5次试用机会,即允许在5台服务器上运行未激活的uni云开发软件版。
试用到期后,你需要尽快购买并激活授权,升级为正式版。
**服务器授权购买方式:** 登录[uniCloud控制台](https://unicloud.dcloud.net.cn),从顶部导航栏下拉列表中选择“uniCloud软件版”,进入集群列表,选择对应集群,可看到该集群下的所有已注册服务器,选择需要激活的服务器,完成授权购买。
**服务器授权购买方式:** 登录[uniCloud控制台](https://unicloud.dcloud.net.cn),从顶部导航栏下拉列表中选择“uni云开发软件版”,进入集群列表,选择对应集群,可看到该集群下的所有已注册服务器,选择需要激活的服务器,完成授权购买。
uniCloud控制台激活操作完成后,会在24小时内自动完成你服务器上的uniCloud软件版激活,或者你也可以通过重启的方式,让uniCloud软件版立即激活。
uniCloud控制台激活操作完成后,会在24小时内自动完成你服务器上的uni云开发软件版激活,或者你也可以通过重启的方式,让uni云开发软件版立即激活。
#### 应用授权
uniCloud试用版不校验appid,一旦你完成uniCloud软件版的正式激活,则需尽快配置该服务器允许使用的appid清单,每个appid需要一个应用授权。
uniCloud试用版不校验appid,一旦你完成uni云开发软件版的正式激活,则需尽快配置该服务器允许使用的appid清单,每个appid需要一个应用授权。
未授权的应用访问uniCloud正式版将会返回`403`错误码。
添加应用授权有两种方式:
- 在购买应用授权时,同时绑定应用;
- 先购买应用授权个数,后期选择对应应用进行绑定;
绑定应用后,需重新启动uniCloud软件版,方可生效。
绑定应用后,需重新启动uni云开发软件版,方可生效。
### 企业版软件离线激活授权
#### 服务器授权
在uniCloud软件版安装目录下运行 `./uniCloud scan` 命令,会检测服务器环境信息及注册状态,如未注册状态,会在最后生成一个硬件ID
在uni云开发软件版安装目录下运行 `./uniCloud scan` 命令,会检测服务器环境信息及注册状态,如未注册状态,会在最后生成一个硬件ID
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031715273.png)
......@@ -243,7 +244,7 @@ uniCloud试用版不校验appid,一旦你完成uniCloud软件版的正式激
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031924263.png)
下载授权文件并上传至uniCloud软件版服务器上,上传目录为`${uniCloud_HOME}/license/`,重启uniCloud软件版即可完成服务器正式激活。
下载授权文件并上传至uni云开发软件版服务器上,上传目录为`${uniCloud_HOME}/license/`,重启uni云开发软件版即可完成服务器正式激活。
#### 应用授权
......@@ -251,11 +252,11 @@ uniCloud试用版不校验appid,一旦你完成uniCloud软件版的正式激
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406031923255.png)
将下载的应用授权文件上传uniCloud软件版服务器上,目录为`${uniCloud_HOME}/license/`,重启uniCloud软件版即可完成应用授权激活。
将下载的应用授权文件上传uni云开发软件版服务器上,目录为`${uniCloud_HOME}/license/`,重启uni云开发软件版即可完成应用授权激活。
### 运维管理
#### uniCloud软件版操作命令@commands
#### uni云开发软件版操作命令@commands
> 所有命令,需在uniCloud软件安装根目录下执行
......@@ -314,18 +315,18 @@ uniCloud试用版不校验appid,一旦你完成uniCloud软件版的正式激
#### 出网域名白名单
uniCloud软件版的部分业务需要从你的服务器向外网发送请求,需联网的业务包括:
uni云开发软件版的部分业务需要从你的服务器向外网发送请求,需联网的业务包括:
|功能 |联网域名 |
|-- |-- |
|1. uniCloud软件版联网激活<br/>2. 短信 <br/> 3. 一键登录 <br/> 4. uni-ai <br/> 5. 实人认证 <br/> |1. pucoa1.dcloud.net.cn <br/> 2. pucoa2.dcloud.net.cn <br/> 3. pucoabk.dcloud.net.cn |
|1. uni云开发软件版联网激活<br/>2. 短信 <br/> 3. 一键登录 <br/> 4. uni-ai <br/> 5. 实人认证 <br/> |1. pucoa1.dcloud.net.cn <br/> 2. pucoa2.dcloud.net.cn <br/> 3. pucoabk.dcloud.net.cn |
|6. uni-push |restapi.getui.com |
若你的服务器开启了防火墙,或限制公网访问,同时又使用了如上业务,则你需要将如上对应域名加入防火墙白名单。
#### 日志
uniCloud软件版内置简单的日志服务,日志分为启动日志与运行日志。
uni云开发软件版内置简单的日志服务,日志分为启动日志与运行日志。
启动日志是记录 uniCloud 启动期间的所有输出日志。
......@@ -369,9 +370,9 @@ uniCloud软件版内置简单的日志服务,日志分为启动日志与运行
### 安装软件版开发插件
前往插件市场,下载并安装[uniCloud软件版插件](https://ext.dcloud.net.cn/plugin?id=18520)
前往插件市场,下载并安装[uni云开发软件版插件](https://ext.dcloud.net.cn/plugin?id=18520)
uniCloud软件版插件支持以下功能:
uni云开发软件版插件支持以下功能:
- 创建本地调试配置文件
- 创建本地存储调试配置文件
......@@ -381,11 +382,11 @@ uniCloud软件版插件支持以下功能:
> HBuilderX > 4.19
uniCloud软件版服务空间使用 `dcloud` 标识
uni云开发软件版服务空间使用 `dcloud` 标识
### 本地调试配置
在项目中的`uniCloud`目录右键-uniCloud软件版-创建本地调试配置文件,即可生成`config.json`配置文件。
在项目中的`uniCloud`目录右键-uni云开发软件版-创建本地调试配置文件,即可生成`config.json`配置文件。
![](https://web-ext-storage.dcloud.net.cn/unicloud/docs202406261208673.png)
......@@ -430,13 +431,13 @@ uniCloud软件版服务空间使用 `dcloud` 标识
由于有uni_modules插件内包含uniCloud云函数等,需要进行uniCloud打包操作,将uni_modules插件内的云函数及数据库schema抽离出来。
`uniCloud`目录右键“uniCloud软件版”-“打包uniCloud资源”,将会在`uniCloud`服务空间目录下生成`dist`目录。
`uniCloud`目录右键“uni云开发软件版”-“打包uniCloud资源”,将会在`uniCloud`服务空间目录下生成`dist`目录。
可以使用git/svn等版本管理工具进行管理,将代码上传至git/svn,在服务器拉取代码后将`uniCloud-dcloud/dist`目录同步到对应服务空间下即可。
也可以单独对`dist`目录打包zip并上传到服务器对应的服务空间目录下并解压。
上传代码之后需要重新启动服务空间,在uniCloud软件版根目录执行以下命令进行重启操作
上传代码之后需要重新启动服务空间,在uni云开发软件版根目录执行以下命令进行重启操作
```javascript
./unicloud stop & ./unicloud start
......@@ -446,7 +447,7 @@ uniCloud软件版服务空间使用 `dcloud` 标识
## 配置文件@config
uniCloud软件版需要单独配置mongodb数据库、文件存储、redis等,所有配置全部在`config.json`中完成。
uni云开发软件版需要单独配置mongodb数据库、文件存储、redis等,所有配置全部在`config.json`中完成。
HBuilderX端开发配置、服务器端线上配置,都通过 config.json实现,且规则保持一致。
......@@ -491,7 +492,7 @@ HBuilderX端开发配置、服务器端线上配置,都通过 config.json实
|参数|类型|默认值|说明|
|---|---|---|---|
|default|Boolean|false|仅服务器支持;是否为默认服务空间,一套uniCloud软件版环境下,只能有一个默认服务空间|
|default|Boolean|false|仅服务器支持;是否为默认服务空间,一套uni云开发软件版环境下,只能有一个默认服务空间|
|spaceId|String|-|服务空间ID,可在uniCloud控制台查看|
|startAsDaemon|Boolean|true|仅服务器支持;是否在后台运行|
|port|Number|7001|端口号,同一台服务器下,各服务空间的端口号不可重复|
......@@ -514,7 +515,7 @@ HBuilderX端开发配置、服务器端线上配置,都通过 config.json实
|storage.ak|String|-|仅qiniu支持;bucket ak|
|storage.sk|String|-|仅qiniu支持;bucket sk|
|logger|Object|-|日志服务配置|
|logger.customLogDir|String|/private-cloud-env/logs|uniCloud软件版环境日志存储路径|
|logger.customLogDir|String|/private-cloud-env/logs|uni云开发软件版环境日志存储路径|
|redis|Object|-|redis配置; 如不需要可不配置此字段|
|redis.host|String|-|redis连接host|
|redis.port|Number|6379|端口号|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册