FISCO-BCOS区块链浏览器的搭建

2018-08-14  本文已影响0人  枕溪研书

一 搭建环境

环境 版本
浏览器 chrome
Java jdk1.8.0_121
Python 2.7
gradle gradle-2.1或以上版本
数据库 mysql-5.6或以上版本
Web服务 Tomcat 9.0.1

1.1 Java环境部署

首先,需要在官网上下载JDK安装包
如果安装了xshell的话,可以使用如下命令,将jdk的安装包导入centso中:

yum install  lrzsz -y
rz

安装vim :yum install vim -y

解压: tar -zxvf jdk-8u181-linux-x64.tar.gz
建夹:mkdir /usr/local/java

将解压后的文件移动到目录/usr下 : mv ~/jdk1.8.0_181 /usr/local/java/

vim /etc/profile

在改文件最后加入:

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile

验证是否成功:

java -version

1.2 gradle环境部署

(1)从官网下载对应版本的gradle安装包,并解压到相应目录。

mkdir /software/
unzip -d /software/ gradleXXX.zip

(2)配置环境变量

export GRADLE_HOME=/software/gradle-2.14
export PATH=$GRADLE_HOME/bin:$PATH

1.3 数据库部署

yum安装mysql5.6
centos自带mysql的yum源是mariadb,所以要下删除mariadb

yum -y remove mariadb-libs

安装epel包

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

安装mysql

yum -y install mysql-community-server
[root@angleyu ~]# yum install -y mysql-server mysql mysql-devel

#启动数据库服务
[root@mail ~]# systemctl restart mysql
#初始化数据库
[root@mail ~]# mysql_secure_installation
关闭防火墙
[root@angleyu ~]# systemctl stop firewalld

启动mysql

service mysqld start

初始化root用户

mysql -u root

测试例子:

/*创建 cc 用户,并且允许该用户本地访问数据库*/
create user 'cc'@'%' identified by '123456';

给root分配密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;       ##刷新数据库
###查看权限
mysql> show grants for 'root';
+-------------------------------------------------------------+
| Grants for root@%                                           |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
1 row in set (0.00 sec)

测试是否成功

另开一个ssh测试用户是否可以登陆,并成功授权,登陆数据库

root@cc-virtual-machine:~# mysql -h 192.168.10.85 -u root -p
Enter password: 

登陆成功后,执行sql语句,若出现错误,则用户授权不成功

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testdb             |
+--------------------+
5 rows in set (0.13 sec)

mysql> use testdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> 

如果远程登录失败

如果远程登录失败,查看原因。如果出现错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.10.85' (111)

则可以参考链接:https://blog.csdn.net/chengyuqiang/article/details/70153980?utm_source=blogxgwz5

注意,配置好mysql后,一定要重启才有效。

sudo service mysql restart

1.4 Python的安装和部署

使用python -V命令查看一下是否安装Python (一般都会自带python,2.7版本已足够用了)

**注意,是大写的 -V **

1.5 Tomcat操作(Web服务)

安装方式:源码安装
软件:apache-tomcat-7.0.29.tar.gz
下载地址:http://tomcat.apache.org/download-70.cgi

解压文件

tar -zxvf 解压文件.tar.gz

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-z :是否同时具有gzip 的属性?亦即是否需要用gzip 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在f 之后要立即接档名喔!不要再加参数!

解压后,可以创建文件夹 /software ,方便浏览器配置时,好写路径:

mkdir /software

mv 解压后的文件 tomcat //这句话是吧解压后的文件改名的,可以不执行

mv tomcat /software //将文件 tomcat 移动到 /software 目录下

二 部署和配置文件

2.1 clone代码

git clone http://github.com/FISCO-BCOS/fisco-bcos-browser.git
cd fisco-bcos-browser

2.2 浏览器部署

编辑文件

vim deploy_browser.sh

配置文件开头的参数,如下

######################  参数配置  ######################

userName="cc"  #需要创建的数据库用户
password="123456" #需要创建的数据库用户密码
passwordRoot="123456" #数据库root账号的密码
dbName="testdb"     #需要创建的数据库名
dbIp="192.168.10.85"   #数据库所在机器IP
tomcatpath="/software/tomcat/" #tomcat所在路径

###################### 参数配置结束 #################### 
deploy_browser.sh配置

运行脚本进行部署和启动

sh deploy_browser.sh           //这一步是在所有东西都配置好后,最好启动的。

若执行成功,则浏览器服务会自动启动

三 节点上报程序(report agent)部署和page部署

3.1 page部署

部署

cd /home/cc/Downloads/fisco-bcos-browser/page/fisco-bcos-browser/

(1)配置

数据库

vim src/main/resources/jdbc.properties

将下述变量修改为数据库对应的IP地址,数用户名,密码。
这里主要是java连接数据库的一些JDBC的配置

jdbc_url = jdbc:mysql://127.0.0.1/testdb  //testdb是要创建的数据库名称
jdbc_username = cc    //数据库中注册的用户名
jdbc_password = 123456     //该用户名的密码

127.0.0.1 IP号代表是回送地址,指本地机,一般用来测试使用。主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输

log目录

vim src/main/resources/log4j2.xml

修改RollingFile标签里的fileName和filePattern,指向需要log打印的位置。

<RollingFile name="fixedTimeFileAppender" fileName="/home/app/bcos-browser/page/logs/bcos-browser.log" filePattern="/home/app/bcos-browser/page/logs/bcos-browser.log.%d{yyyy-MM-dd}.%i.log.gz">

这个/home/app/的目录会自动生成

(2)生成Web应用

#page/fisco-bcos-browser/目录下
gradle build

成功后可得到war包:

dist/apps/fisco-bcos-browser.war

(3)发布Web应用

cp dist/apps/fisco-bcos-browser.war /tomcat所在的安装目录(software)/tomcat/webapps/fisco-bcos-browser.war #拷贝war包到tomcat目录中
cd /tomcat所在的目录(software)/tomcat/bin
./startup.sh    #启动tomcat服务

####这里注意,一定要关闭虚拟机的防火墙才能在win 上登陆网页查看区块链信息,在后面我也将提醒

3.2 节点上报程序(report agent)部署

准备

每台部署了区块链节点的机器仅运行一个脚本即可。

使用前,请将需要被监控的区块链节点配置文件中的statlog打开。

vim config.json

配置后的config文件中statlog参数如下:

"statlog": "ON",

注意:若修改了config.json,则需要重启节点才会生效。

配置参数

进入区块链浏览器根目录下的report文件夹,修改ReportAgent.py

cd report
vim ReportAgent.py

配置步骤

(1)配置上报周期:ACCESS_NODE_INTERVAL,默认60秒即可

(2)配置server端IP:BROWSER_SERVER_IP

(3)配置server端接收上报数据的端口:BROWSER_SERVER_PORT

(4)配置节点信息对象。若有多个节点,则依次按照举例进行,填入各个参数。最后一个参数可选,若不设置则默认从log.conf中读取,但需保证log.conf中的log路径为绝对路径。

(5)将定义的节点信息对象写入全局数组(nodes)中。

ACCESS_NODE_INTERVAL = 60 #60s 多久询问、上报一次node的信息

HOST_IP = "192.168.10.85" #本机器的外网IP,仅作为浏览器端区分是哪台机器上报的数据
BROWSER_SERVER_IP = "192.168.10.85" #上报server端的IP,即本机的ip
BROWSER_SERVER_PORT = "8080" #上报server端的端口

node0 = ["node0", "/mydata/nodedata-1/log.conf", 8545,"/mydata/nodedata-1/log"] #node的名字, log.conf的路径, RPC端口号, node的log目录(可选)
node1 = ["node1", "/mydata/nodedata-2/log.conf", 8546,"/mydata/nodedata-2/log"] #node的名字, log.conf的路径, RPC端口号, log.conf的路径(可选)
node2 = ["node2", "/mydata/nodedata-3/log.conf", 8547,"/mydata/nodedata-3/log"]
node3 = ["node3", "/mydata/nodedata-4/log.conf", 8548,"/mydata/nodedata-4/log"]

nodes = [node0,node1,node2,node3]
TIM截图20180822152924.png

启动脚本**

./start_Agent.sh

查看日志

tail -f agentOut.txt

关闭脚本

./stop_Agent.sh

四 启动浏览器

切换到浏览器源代码目录,启动区块链浏览器:

cd /home/cc/Downloads/fisco-bcos-browser/

sh deploy_browser.sh 

打开win系统下的谷歌浏览器,访问网页

http://192.168.10.85:8080/fisco-bcos-browser

注意:关闭虚拟机防火墙后,如果还是不行,记得在前面加上http://xxxxxip号一定要是你配置的,虚拟机的ip号

关闭防火墙
[root@angleyu ~]# systemctl stop firewalld
TIM截图20180822160715.png

执行如下步骤

  1. 进入页面:点击”配置“ -> ”节点配置“ ,进入页面。

  2. 配置节点:点击“新增节点”,填入节点IP和RPC端口,点击“提交”,提交后,区块链浏览器后台自动连接相应区块链节点,拉取数据。尽可能将链上所有的节点都配置进去。


    image.png
  3. 查看数据:点击区块链浏览器的其它页面,查看区块链的相关数据。

  4. 修改配置:在节点配置页面,点击节点列表上的操作按钮进行“修改”或“删除”。

注意:目前区块链浏览器仅仅支持接入一条链,请勿配置多条链上的多个节点

上一篇下一篇

猜你喜欢

热点阅读