部署说明

1. 前提条件

序号软件
1FISCO-BCOS 2.0
2WeBASE-Front 对应版本
3MySQL5.6或以上版本
4Java8或以上版本

2. 注意事项

  • Java推荐使用OpenJDK,建议从OpenJDK网站自行下载(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点)下载地址 安装指南
  • 在服务搭建的过程中,如碰到问题,请查看 常见问题解答
  • 安全温馨提示: 强烈建议设置复杂的数据库登录密码,且严格控制数据操作的权限和网络策略

通过WeBASE-Sign私钥管理 WeBASE-Node-Manager v1.3.0+将通过WeBASE-Sign进行私钥管理,即使用WeBASE-Node-Manager v1.3.0+的版本需要同步安装WeBASE-Sign v1.3.0,详情可参考升级文档进行阅读

国密支持:

WeBASE-Node-Manager v1.2.2+已支持 国密版FISCO-BCOS,与WeBASE-Front v1.2.2+配合使用

重要

使用国密版WeBASE-Node-Manager需要开启web3sdk的国密开关和script/gm中的webase-gm.sh脚本进行数据库初始化

开启web3sdk的国密开关:

  • 将配置文件application.yml/applicationContext.xml中web3sdk配置的encryptType0修改为1

部署时初始化数据库:

  • 执行dist/script/gm中的webase-gm.sh脚本进行初始化,而非dist/script中的webase.sh,;

3. 拉取代码

执行命令:

  1. git clone https://github.com/WeBankFinTech/WeBASE-Node-Manager.git

进入目录:

  1. cd WeBASE-Node-Manager

4. 编译代码

方式一:如果服务器已安装Gradle,且版本为Gradle-4.10或以上

  1. gradle build -x test

方式二:如果服务器未安装Gradle,或者版本不是Gradle-4.10或以上,使用gradlew编译

  1. chmod +x ./gradlew && ./gradlew build -x test

构建完成后,会在根目录WeBASE-Node-Manager下生成已编译的代码目录dist。

5. 数据库初始化

5.1 新建数据库

  1. #登录MySQL:
  2. mysql -u ${your_db_account} -p${your_db_password} 例如:mysql -u root -p123456
  3. #新建数据库:
  4. CREATE DATABASE IF NOT EXISTS {your_db_name} DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

5.2 修改脚本配置

进入数据库脚本目录

  1. cd dist/script

如果使用国密版,应进入dist/script/gm目录,对/gm目录下的webase-gm.sh进行下文的操作,并在最后运行webase-gm.sh

修改数据库连接信息:

  1. 修改数据库名称:sed -i "s/webasenodemanager/${your_db_name}/g" webase.sh
  2. 修改数据库用户名:sed -i "s/defaultAccount/${your_db_account}/g" webase.sh
  3. 修改数据库密码:sed -i "s/defaultPassword/${your_db_password}/g" webase.sh

例如:将数据库用户名修改为root,则执行:

  1. sed -i "s/defaultAccount/root/g" webase.sh

5.3 运行数据库脚本

执行命令:bash webase.sh ${dbIP} ${dbPort} 如:

  1. bash webase.sh 127.0.0.1 3306

6. 服务配置及启停

6.1 服务配置修改

(1)回到dist目录,dist目录提供了一份配置模板conf_template:

  1. 根据配置模板生成一份实际配置conf。初次部署可直接拷贝。
  2. 例如:cp conf_template conf -r

(2)修改服务配置:

  1. 修改服务端口:sed -i "s/5001/${your_server_port}/g" conf/application.yml
  2. 修改数据库IPsed -i "s/127.0.0.1/${your_db_ip}/g" conf/application.yml
  3. 修改数据库端口:sed -i "s/3306/${your_db_port}/g" conf/application.yml
  4. 修改数据库名称:sed -i "s/webasenodemanager/${your_db_name}/g" conf/application.yml
  5. 修改数据库用户:sed -i "s/defaultAccount/${your_db_account}/g" conf/application.yml
  6. 修改数据库密码:sed -i "s/defaultPassword/${your_db_password}/g" conf/application.yml

备注:如果使用国密版本,则将application.yml中sdk-encryptType0改为1

6.2 服务启停

在dist目录下执行:

  1. 启动:bash start.sh
  2. 停止:bash stop.sh
  3. 检查:bash status.sh

备注:服务进程起来后,需通过日志确认是否正常启动,出现以下内容表示正常;如果服务出现异常,确认修改配置后,重启提示服务进程在运行,则先执行stop.sh,再执行start.sh。

  1. ...
  2. Application() - main run success...

6.3 查看日志

在dist目录查看:

  1. 全量日志:tail -f log/WeBASE-Node-Manager.log
  2. 错误日志:tail -f log/WeBASE-Node-Manager-error.log