一键部署会搭建:节点(FISCO-BCOS 2.0)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、节点前置子系统(WeBASE-Front)。其中,节点的搭建是可选的,可以通过配置来选择使用已有链或者搭建新链。一键部署架构如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DvLh0WEI-1584494978906)(en-resource://database/731:1)]
环境 | 版本 |
---|---|
Java | JDK8或以上版本 |
MySQL | MySQL-5.6或以上版本 |
Python | Python3.4+ |
PyMysql | 使用python3时需安装 |
$ sudo apt-get install default-jdk
$ sudo vim /etc/profile
# 在文件末尾加入
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
$ source /etc/profile
$ sudo apt-get install mysql-server
$ sudo apt install mysql-client
$ sudo netstat -tap | grep mysql
# 然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 重启mysql服务
$ service mysql restart
# 登录mysql修改对应设置
$ mysql -uroot -p
# 直接回车,登录进mysql
mysql> use mysql
mysql> update user set authentication_string=password("你的密码"),plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> quit
# 将这个配置文件中的[mysqld]这一句skip-grant-tables注释掉
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 重启mysql服务
$ service mysql restart
# 测试登录mysql
$ msyql -uroot -p
输入密码
ubuntu18.04默认安装了python2.7和python3.6,python默认执行的是python2.7。
$ sudo whereis python
$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python
备注 使用python2.7+时,需安装MySQL-python;
Python3.4及以上版本,需安装PyMysql依赖包:
$ sudo apt-get install -y python3-pip
$ sudo pip3 install PyMySQL
获取部署安装包:
$ cd ~
$ wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/v1.2.2/webase-deploy.zip
解压安装包:
$ unzip webase-deploy.zip
进入目录:
$ cd webase-deploy
$ vim common.properties
# WeBASE版本(v1.1.0或以上版本)
webase.version=v1.2.2
# 节点管理子系统mysql数据库配置
mysql.ip=127.0.0.1
mysql.port=3306
mysql.user=dbUsername
mysql.password=dbPassword
mysql.database=webasenodemanager
# 节点前置子系统h2数据库名
front.h2.name=webasefront
# WeBASE管理平台服务端口
web.port=5000# 节点管理子系统服务端口
mgr.port=5001# 节点前置子系统端口
front.port=5002
# 节点监听Ip
node.listenIp=127.0.0.1
# 节点p2p端口
node.p2pPort=30300# 节点链上链下端口
node.channelPort=20200# 节点rpc端口
node.rpcPort=8545
# 是否使用国密(0: standard, 1: guomi)
encrypt.type=0
# 是否使用已有的链(yes/no)if.exist.fisco=no
# 使用已有链时需配置# 已有链的路径,start_all.sh脚本所在路径# 路径下要存在sdk目录,sdk里存放sdk证书(ca.crt、node.crt和node.key)
fisco.dir=/data/app/nodes/127.0.0.1
# 前置所连接节点的绝对路径# 路径下要存在conf文件夹,conf里存放节点证书(ca.crt、node.crt和node.key)
node.path=/data/app/nodes/127.0.0.1/node0
# 搭建新链时需配置# FISCO-BCOS版本
fisco.version=2.1.0
# 搭建节点个数(默认两个)
node.counts=nodeCounts
部署所有服务
$ python deploy.py installAll
停止所有服务
$ python deploy.py stopAll
服务部署后,如果需要单独启停,可以使用以下命令:
启动FISCO-BCOS节点: python deploy.py startNode
停止FISCO-BCOS节点: python deploy.py stopNode
启动WeBASE-Web: python deploy.py startWeb
停止WeBASE-Web: python deploy.py stopWeb
启动WeBASE-Node-Manager: python deploy.py startManager
停止WeBASE-Node-Manager: python deploy.py stopManager
启动WeBASE-Front: python deploy.py startFront
停止WeBASE-Front: python deploy.py stopFront
备注:
WeBASE管理平台:
http://{deployIP}:{webPort}
示例:http://localhost:5000
类似下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXJDDJIP-1584494978907)(en-resource://database/733:1)]
$ cd ~/webase-deploy
$ python deploy.py stopFront
# 打开配置文件,将sdk下面的ip修改为配置节点时的内网ip
$ vim ~/webase-deploy/webase-front/conf/application.yml
# 修改完之后重启webase-front
$ python deploy.py startFront