
# 私有化部署安装指导
私有化部署是指将在华为云Astro大屏应用企业版实例中开发的项目打包下载，并安装部署到用户的内网中使用。
#### 操作流程
私有化部署华为云Astro大屏应用的操作流程，如[图1]所示。
图1华为云Astro大屏应用私有化部署流程   
![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002188282905.png)
1. [步骤一：购买华为云Astro大屏应用企业版实例]
   购买一个华为云Astro大屏应用企业版实例，当前仅华为云Astro大屏应用企业版实例才支持私有化部署。
   
2. [步骤二：下载运行环境]
   在企业版华为云Astro大屏应用界面，下载运行环境部署包。运行环境部署包用于在服务器上部署华为云Astro大屏应用运行环境。
   
3. [步骤三：（可选）校验软件包完整性]
   为了避免软件包部署前被恶意篡改，在安装软件包前建议进行软件包完整性校验。
   
4. [步骤四：安装运行环境]
   在本地服务器上，安装运行环境部署包，获取机器码。在企业版华为云Astro大屏应用注册机器码，生成Key。服务器绑定Key后，才可正常访问私有化部署的华为云Astro大屏应用运行环境。
   
5. [步骤五：使用私有化部署的华为云Astro大屏应用服务]
   在私有化部署的华为云Astro大屏应用运行环境中，安装可视化应用部署包，更新可视化应用的配置。
   
 
#### 私有化部署对服务器的软硬件要求
系统和硬件要求如下：
- CentOS 7.0 64位Linux系统
- 4核4GHz处理器
- 8GB内存
- 100GB硬盘
 
 #### 步骤一：购买华为云Astro大屏应用企业版实例
1. 进入[购买华为云Astro大屏应用实例页面](https://console.huaweicloud.com/astro-canvas/?#/canvas/create)。
2. 实例版本选择"华为云Astro大屏应用企业版"，选择购买时长，单击"立即购买"。
3. 选择支付方式，单击"确认付款"，完成订单支付。
4. 订单支付成功后，单击"返回Astro轻应用控制台"。 
   在华为云Astro大屏应用控制台中，可以查看到华为云Astro大屏应用的安装状态。当"实例状态"变为"运行中"时，说明实例已安装好，可以正常使用。
   图2华为云Astro大屏应用控制台   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158503458.png "点击放大")
   
   
5. 单击实例中的"进入首页"，进入华为云Astro大屏应用界面，开发页面并发布。 
   如何使用华为云Astro大屏应用开发可视化页面，请参见[创建页面](https://support.huaweicloud.com/usermanual-astrocanvas/astrocanvas_05_6013.html)。
   
   
 
 #### 步骤二：下载运行环境
1. 在华为云Astro大屏应用服务控制台，单击实例中的"进入首页"，进入华为云Astro大屏应用界面。
2. 在页面右上角，单击"账号名"，选择"本地部署"。 
   图3选择本地部署   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158307549.png)
   
   
3. 在本地部署信息中，单击"下载运行环境"，下载华为云Astro大屏应用运行环境部署包。 
   运行环境部署包用于在服务器上部署华为云Astro大屏应用服务，包名为"AstroCanvas_Runtime.zip"。如果需要下载历史版本的部署包，可以单击"版本列表"，再单击对应版本后的![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123358396.png)，即可将该版本的部署包下载到本地。
   图4下载运行环境   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158307485.png "点击放大")
   
   
 
 #### 步骤三：（可选）校验软件包完整性
为了避免软件包部署前被恶意篡改，在安装软件包前建议参照本章节操作进行软件包完整性校验。
1. 在本地的PC机上，快捷键windows+R，输入**cmd**进入命令提示符系统。
2. 在命令提示符系统中，输入以下命令查看文件SHA256值。 
   ```
   certutil -hashfile 文件路径 SHA256
   ```
   其中，*文件路径*为软件包在PC机上的存放路径。
   执行上述命令后，在回显信息中查看文件SHA256的值，如[图5]所示。如果回显信息与[表1]中SHA256值相同，说明软件包未被篡改。
   图5回显信息   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002297609396.png "点击放大")
    表1历史版本号 
   | 历史版本号  | SHA256值                                                          |
   |:---|:---|
   | v1.0.0 | 851240cb215f53d303003583d410fd793595c7e8a0e30a78a9c673c18273e558 |
      
   
   
 
 #### 步骤四：安装运行环境
1. 部署华为云Astro大屏应用服务。 
   1. 登录您的服务器，创建安装目录。
      ```
      cd /home/
      mkdir canvas_private
      ```
      其中，"canvas_private"为安装目录，可自定义。本章节以在"home"目录创建安装目录为例进行介绍，您也可以在其他目录下创建该目录。
      
   
   2. 将[步骤二：下载运行环境]中获取的华为云Astro大屏应用运行环境部署包（AstroCanvas_Runtime.zip），上传到安装目录下。
   
   3. 解压已上传的部署包，并进入已解压后的目录。
      ```
      unzip AstroCanvas_Runtime.zip
      cd AstroCanvas_Runtime
      ```
      图6解压后包中的内容   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123185884.png "点击放大") 
   
   4. 进入config目录，新增"application.yml"配置文件。
      ```
      cd config
      vi application.yml
      ```
      在配置文件中，添加如下内容：
      ```
      # 配置当前机器的ip（默认127.0.0.1）
      hostIp: 10.10.*.*
      # 配置http连接器超时时间（默认3000）
      http:
        connectTimeout: 30000
        socketTimeout: 30000
      magno:
        deploy:
          # 配置私有化环境启动端口（默认8081）
          serverPort: 19996
          # 配置是否开启匿名访问，默认是false，开启则改为true
          enableAnonymous: false
          # 租户ID
          tenantId: tenant-2bb76b9b9f24****09737a83
      ```
      其中，"tenantId"为租户ID，请参考[步骤二：下载运行环境]中操作，进入"本地部署信息"页面。在租户ID后，单击![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002146413905.png)，即可复制租户ID。
      图7复制租户ID   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123027776.png "点击放大") 
   
   5. 进入解压后的目录，执行启动命令。
      ```
      cd /home/canvas_private/AstroCanvas_Runtime
      sh start.sh
      ```
      如果启动失败，请查看启动日志"/home/canvas_private/AstroCanvas_Runtime/startlogs/start.log"。如果提示权限不足，请返回安装目录，设置目录下所有文件为最大权限。
      ```
      cd /home/canvas_private/AstroCanvas_Runtime
      chmod -R 777 AstroCanvas_Runtime
      ```
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/public_sys-resources/note_3.0-zh-cn.png)
      其他常用操作及命令如下：
      - 查看日志：/*home* /*canvas_private*/AstroCanvas_Runtime/logs/\*\*\*-PrivateDeployApp.log
      
      - 重启服务：sh restart.sh，执行启动命令后，如果修改了"application.yml"文件，需要执行该命令，重新启动。
      
      - 停止服务：sh stop.sh
        
   
   
   
   
2. 服务启动后，在浏览器中，输入华为云Astro大屏应用服务所在服务器的IP地址和端口，获取机器码。
   
   ```
   http://10.10.*.*:19996/
   ```
   其中，"10.10.\*.\*"为[1.d]中，修改application.yml时配置的服务器ip、"19996"为端口。
   图8复制服务器机器码   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158425949.png "点击放大")
   
   
3. 注册服务器。 
   1. 在华为云Astro大屏应用界面，单击右上角的账号名，选择"本地部署"。
      图9华为云Astro大屏应用界面选择本地部署   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002193368765.png) 
   
   2. 在本地部署信息页面，单击"注册"。
      图10选择新建服务机器码   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158425897.png "点击放大") 
   
   3. 输入服务器机器码和名称，单击"确定"，生成测试Key。
      图11生成测试Key   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158425941.png)
      其中，"服务器机器码"请配置为[2]中获取的内容，服务器名称请根据实际情况进行配置。
      
   
   4. 返回本地部署信息页面，单击服务器机器码后的![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123358396.png)，下载测试Key文件（runtime.key）。
      图12下载测试Key文件   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123027804.png "点击放大") 
   
   5. 将获取的测试Key，上传到本地服务器的"/home/canvas_private/AstroCanvas_Runtime/config"目录下，验证服务器部署情况。
      ```
      cd /home/canvas_private/AstroCanvas_Runtime/config
      ```
      - **测试Key有效期为3天，过期后请使用机器码重新注册并生成测试Key或启用为正式Key。下载新的Key后，需要删除原先的Key，替换为新的Key。**
      
      - **使用机器码生成新的测试Key时，需要先删除失效的Key，再重新注册。因为一个机器码只能注册一个Key。**
      
      
      在浏览器中，输入华为云Astro大屏应用服务所在服务器的IP地址和端口，可正常进入华为云Astro大屏应用界面，说明已部署成功。
      ```
      http://10.10.*.*:19996/
      ```
      其中，"10.10.\*.\*"为[1.d]中，修改application.yml时配置的服务器公网ip，"19996"为端口。
      
   
   6. 验证无误后，单击测试Key右侧操作栏中的![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002159609909.png)，在弹出的页面单击"确定"，启动测试Key。
      图13启动测试Key   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123027716.png)
      启动成功后，返回本地部署信息页面，可查看到"Key类型"由"测试"变为"正式"。
      图14正式Key   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123185924.png "点击放大") 
   
   
   
   
4. 下载正式Key文件（runtime.key），替换测试Key的runtime.key文件，替换后重启服务即可使用。
5. 配置登录私有化部署华为云Astro大屏应用的用户名和密码。
   
   1. 进入"/home/canvas_private/AstroCanvas_Runtime"目录。
      ```
      cd /home/canvas_private/AstroCanvas_Runtime
      ```
      
   
   2. 编辑userConfig.json文件，在文件中设置登录华为云Astro大屏应用的用户名和密码。
      ```
      vi userConfig.json
      ```
      配置示例如下：
      ```
      {
          "accounts": [
              {
                  "name": "user1",
                  "pwd": "user1用户登录密码"
              },
              {
                  "name": "user2",
                  "pwd": "user2用户登录密码"
              }
          ]
      }
      ```
      
   
   3. 配置完成后，保存文件并退出。
   
   
   
   
 
 #### 步骤五：使用私有化部署的华为云Astro大屏应用服务
1. 登录私有化部署的华为云Astro大屏应用界面。
   
   1. 在浏览器中，输入华为云Astro大屏应用服务所在服务器的IP地址和端口，进入华为云Astro大屏应用登录页。
      ```
      http://10.10.*.*:19996/
      ```
      其中，"10.10.\*.\*"为[1.d]中，修改application.yml时配置的服务器公网ip，"19996"为端口。
      
   
   2. 输入[5]中配置的用户名和密码，单击"登录"，即可进入华为云Astro大屏应用界面。
      图15输入用户名和密码   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123185856.png "点击放大") 
   
   
   
   
2. 获取可视化应用本地部署包。
   
   1. 在[步骤一：购买华为云Astro大屏应用企业版实例]中，单击华为云Astro大屏应用实例中的"进入首页"，进入华为云Astro大屏应用界面。
   
   2. 在项目列表中，将鼠标放在对应的项目上，单击![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123358396.png)。
      图16单击下载本地部署包图标   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123027772.png) 
   
   3. 在弹出的页面，勾选需要下载的页面，单击"下载本地部署包"。 可视化应用本地部署包用于在部署后的华为云Astro大屏应用运行环境中安装应用，实现项目的迁移，包名为"AstroCanvas_项目名_随机编码.zip"。
      图17选择本地部署的页面   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123027760.png "点击放大") 
   
   
   
   
3. 添加可视化应用。 
   1. 在项目列表中，单击"导入项目包"。
   
   2. 选择[2]中下载的可视化应用本地部署包（AstroCanvas_*项目名* _*随机编码* .zip）。
      在项目列表中，可查看到项目已成功导入。
      图18查看导入的项目   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158425849.png "点击放大") 
   
   
   
   
4. 配置数据源密码和加密字段。 
   在运行环境中导入可视化应用本地部署包后，如果应用包中包含关系型数据库、Prometheus和HTTP连接器数据源，需要重新配置密码和加密字段。
   图19修改关系型数据库数据源密码   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002123185820.png "点击放大")
   图20修改Prometheus数据源密码   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158307541.png "点击放大")
   图21修改HTTP连接器数据源加密字段   
   ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158425961.png "点击放大")
   
   
5. 访问项目中的页面。 
   在华为云Astro大屏应用企业版项目中发布页面时，如果"访问限制"设置的是"Token认证"，则不需要执行如下操作，直接在项目详情页单击"页面URL"地址，即可正常访问页面。如何设置Token认证，请参见[如何设置Token认证](https://support.huaweicloud.com/usermanual-astrocanvas/astrocanvas_05_7036.html)。发布页面时如果"访问限制"设置的是"分享码"，在私有化部署的华为云Astro大屏应用环境中导入项目后，页面中原先设置的分享码会被置空，请按照如下操作重新设置。
   1. 在项目列表中，单击已导入的项目，进入项目详情页。
   
   2. 单击待访问页面后的![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002159616345.png)，为页面设置分享码。
      图22为页面设置分享码   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158307449.png "点击放大") 
   
   3. 输入分享码，单击![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002159738833.png)，保存设置。
      图23设置页面分享码   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158120610.png "点击放大") 
   
   4. 单击![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002146413905.png)，复制页面URL地址。
      图24获取页面URL   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002158307453.png "点击放大") 
   
   5. 在浏览器中输入获取到的地址，输入分享码后，即可正常访问页面。
      图25输入分享码访问页面   
      ![](https://support.huaweicloud.com/usermanual-astrocanvas/zh-cn_image_0000002193366885.png "点击放大") 
    
   
   
 
#### （可选）增加私有化部署根目录
当前私有化部署没有统一的根目录，在实际运维场景中可能需要配置在指定的根目录下，此时可按照如下操作执行。
以根目录"canvas"为例，在Nginx的"conf/nginx.conf" 文件的"http"中增加如下代码。在实际配置时，请将代码中的canvas、*{私有化部署的IP}* 、*{私有化部署的端口}* 、*{Nginx对应的IP}* 和*{对应的端口}*替换为对应的字段。
![](https://support.huaweicloud.com/usermanual-astrocanvas/public_sys-resources/notice_3.0-zh-cn.png)
完成私有化部署根目录配置后，原[1]中的访问地址需要更改为"http://*{Nginx对应的IP}* :*{对应的端口}*/canvas"。
```
sub_filter_once off;
server {
        listen       8080; #请确保端口未被占用
        server_name  localhost;
        location /canvas/magno {
            proxy_pass http://{私有化部署的IP}:{私有化部署的端口}/magno;
            # 域名替换
            sub_filter 'http://{私有化部署的IP}:{私有化部署的端口}' 'http://{Nginx对应的IP}:{对应的端口}/canvas';
            sub_filter '"http:\/\/{私有化部署的IP}:{私有化部署的端口}' '"http://{Nginx对应的IP}:{对应的端口}/canvas';
            sub_filter '{私有化部署的IP}:{私有化部署的端口}' '{Nginx对应的IP}:{对应的端口}/canvas';
            sub_filter '/magno/studio/dmax_share/auth/' '/canvas/magno/studio/dmax_share/auth/';
            sub_filter '="/resources/' '="/canvas/resources/'; 
            sub_filter '"\/magno\/gallery' '"\/canvas\/magno\/gallery'; 
            sub_filter 'magno\\\\/gallery' 'canvas\\\\/magno\\\\/gallery'; 
            sub_filter '{Nginx对应的IP}/magno/render/share/' '{Nginx对应的IP}:{对应的端口}/canvas/magno/render/share/'; 
            sub_filter_types *;
        }
        location /canvas/resources {
            proxy_pass http://{私有化部署的IP}:{私有化部署的端口}/resources;
            sub_filter '.appBaseUrl' '.appBaseUrls';
            sub_filter '"/magno/render' '"/canvas/magno/render';
            sub_filter_types *;
        }
        location /canvas/global {
            proxy_pass http://{私有化部署的IP}:{私有化部署的端口}/global;
            sub_filter '/magno/gallery/asset/globalImageUrl' '/canvas/magno/gallery/asset/globalImageUrl'; 
            sub_filter '/magno/render/share' '/canvas/magno/render/share';
            sub_filter_types *;
        }
        location /canvas/default {
            proxy_pass http://{私有化部署的IP}:{私有化部署的端口}/default; 
        }
        location /canvas/obs {
            proxy_pass http://{私有化部署的IP}:{私有化部署的端口}/obs;
        }
    }
```
