一 搭建环境
环境 | 版本 |
---|---|
浏览器 | 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所在路径
###################### 参数配置结束 ####################
运行脚本进行部署和启动
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打印的位置。
这个/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]
启动脚本**
./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
执行如下步骤
进入页面:点击”配置“ -> ”节点配置“ ,进入页面。
-
配置节点:点击“新增节点”,填入节点IP和RPC端口,点击“提交”,提交后,区块链浏览器后台自动连接相应区块链节点,拉取数据。尽可能将链上所有的节点都配置进去。
查看数据:点击区块链浏览器的其它页面,查看区块链的相关数据。
修改配置:在节点配置页面,点击节点列表上的操作按钮进行“修改”或“删除”。
注意:目前区块链浏览器仅仅支持接入一条链,请勿配置多条链上的多个节点