
# 契约锁集群环境部署（两节点为例）
#### 主节点部署契约锁
契约锁安装包为\*.tar.gz格式的压缩包，如下图所示，应用程序部署方式为将所获取的安装包上传服务器、解压并配置，具体参考本文操作即可。
图1契约锁安装包   
![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002105531313.png)
1. **确认程序部署目录**
   
   契约锁对程序部署目录没有要求，安装包解压目录可根据客户系统环境进行选择或调整。建议选择可用空间较大的目录进行部署。如果客户对于系统安装部署目录有要求，则按照客户指定目录部署即可。
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/caution_3.0-zh-cn.png)
   不论最终选择部署到哪一目录下，都应当做好记录，以便项目维护与交接。
   执行命令：df -h ，可查看服务器磁盘占用情况，如下图所示，
   图2执行命令   
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070180126.png)
   
   
2. **解压安装包**
   
   以安装在 /opt/qiyuesuo 目录为例
   # 进入/opt目录，新建qiyuesuo目录，执行命令：cd /opt \&\& sudo mkdir qiyuesuo
   # 将安装包上传服务器，并解压至/opt/qiyuesuo目录，安装包所在目录下执行解压命令：sudo tar -zxvf qiyuesuo.package\*.tar.gz -C /opt/qiyuesuo
   qiyuesuo.package\*.tar.gz是契约锁安装包
   
   
3. **检查应用程序权限**
   
   # 进入/opt目录，检查契约锁主目录以及契约锁所有应用子文件即子目录所有者是否为环境准备中设置的用户，本文以qiyuesuo用户为例
   图3检查应用程序权限   
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070339914.png)
   # 如存在文件所有者不是qiyuesuo用户，或不确定是否有文件所有者不是qiyuesuo用户，则可通过下述命令修改文件所有者信息,**需切换root用户运行**：chown -R qiyuesuo:qiyuesuo /opt/qiyuesuo
   命令执行后，可再次检查文件所有者是否变更。
   应用文件所有者调整后，后续针对契约锁服务的操作均使用 qiyuesuo 用户即可（或客户提供的其他管理应用的普通用户）
   
   
4. **自定义配置**
   
   1. 配置契约锁服务的访问端口(可选)
   
   
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/note_3.0-zh-cn.png)
   契约锁面向用户共有三个服务： webapp,oss,以及open 服务，三个服务的默认的访问端口分别是9180,9181,以及9182, 这些服务的访问端口是可以自定义的，不过一般不推荐用户更改这些默认端口，如果客户确实有需要进行更改的话请参考以下逻辑：
   - 修改app端口，在 契约锁部署目录/config/app文件夹下，修改配置文件application.properties，如下所示，将9180 改成你想要设置的端口即可 server.port=9180
     
   
   - 修改oss端口，在qiyuesuo/config/oss文件夹下，修改配置文件application.properties，如下所示，将9181 改成你想要设置的端口即可 server.port=9181
     
   
   - 修改open端口，在qiyuesuo/config/open文件夹下，修改配置文件application.properties，如下所示，将9182 改成你想要设置的端口即可 server.port=9182
     ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/caution_3.0-zh-cn.png)
     以上自定义端口号都不能被其他进程占用，如果设置了被占用的端口号，那么会造成契约锁服务启动失败，通常情况下是不需要更改契约锁端口号的，如果客户有这个需要再参考上述内容更改
     
   
   
   2. 配置服务内存(必须\&重要)
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/note_3.0-zh-cn.png)
      契约锁三个服务会有默认的JVM 设置，但是这是根据普遍的服务器配置提供的参考值，往往客户实际环境并不能直接应用，在实际应用过程中，jvm设置过高或过低都会引发服务异常的风险。
      因此，不论生产环境还是测试环境，请一定要做JVM 调优的操作，具体可参考下图
      图4JVM 调优的操作1   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002105899845.png) 
   
   3. 置系统日志输出目录(可选)
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/note_3.0-zh-cn.png)
      目前日志文件默认是存储在契约锁部署目录/logs 目录下面，如果客户想要更改日志的存储路径的话，那么可以将参考下图
      图5修改契约锁日志存储路径   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070180130.png) 
   
   
   
   
5. **启动 oss 服务**
   
   运行契约锁bin目录下的oss服务用于激活，执行以下命令：
   cd /opt/qiyuesuo/bin
   ./start.sh oss
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/public_sys-resources/caution_3.0-zh-cn.png)
   - ./start.sh oss 为启动oss管理台服务的命令，如果后续激活成功使用契约锁全部服务，应使用./start.sh all命令启动契约锁的全部服务
   
   - 从4.3.8 版本开始运维同事更改了start.sh 以及start.bat 脚本，当执行 start.sh 或者start.bat 脚本时会自动的将当前契约锁程序注册成系统服务，后续服务器重启时就能够自动启动契约锁（目前脚本兼容windows、centos6/7、redhat6/7、ubuntu这些常用操作系统,其他的操作系统比如欧拉，麒麟等操作系统不兼容，不会注册成服务，启动脚本将跳过注册成服务的步骤，直接启动契约锁）
    
   相比之前的启动，满足上述条件的情况下，start.sh 脚本初次启动时会要求项目同事填写如下信息:
   图6填写信息   
   ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070339918.png)
   
   
6. **服务激活**
   
   1. 环境检测：访问服务器的ip加9181端口就会进入到服务的激活页面，第一步将进行环境检测，对当前契约锁服务器的相关参数进行校验，校验通过则可进行下一步，若校验不通过，则无法进行下一步
      图7环境检测   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002105899849.png) 
   
   2. 系统激活：环境检查通过后到达"系统激活"阶段，会看到对应产品识别码
      图8系统激活   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002106019805.png)
      将申请好的 license 填入到页面中，确认信息无误后单击下一步
      图9申请 license   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070180134.png) 
   
   3. 配置数据库：选择数据库类型，输入数据库账号密码等信息
      图10**配置数据库**   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002070339922.png)
      图11测试连接   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002105899853.png)
      图12数据初始化   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002106019813.png) 
   
   4. 配置账户：填写初始管理员信息，完成激活
      图13配置账户   
      ![](https://support.huaweicloud.com/qiyuesuo-dgo/zh-cn_image_0000002121764233.png) 
   
   
   
   
 
#### 从节点部署契约锁
主节点激活成功之后，将主节点的部署目录文件全量copy到从节点即可（一般可以用scp命令或文件传输工具）
#### cluster文件修改
修改部署目录/bin/cluster.sh文件（例如/opt/qiyuesuo/bin/cluster.sh），将文件中的127.0.0.1改成两个ECS机器的内网ip，中间用英文逗号隔开
vim /opt/qiyuesuo/bin/cluster.sh
修改文件内容例如为：172.16.124.33, 172.16.124.34，然后保存并关闭
