说明:
1.搭建的是webase-deploy并不是webase-front
2.根据本文档由于ubuntu版本的不同,可能会造成一些小的问题发生,自行解决
如:java环境变量;数据库权限、密码等。
(一)搭链
参考文档:WeBASE管理平台 — FISCO BCOS 2.0 v2.11.0 文档
1.安装依赖:
sudo apt install -y openssl curl
2.创建fisco目录,并进入
cd ~ && mkdir -p fisco && cd fisco
3.下载脚本,并添加权限
(1)官方的github:
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh && chmod u+x build_chain.sh
(2)国内的镜像:
curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.11.0/build_chain.sh && chmod u+x build_chain.sh
4.在目录下执行
- 生成一条单群组4节点的FISCO链
- 确保机器的30300
30303,2020020203,8545~8548端口没有被占用
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
注解:
- -l 选项 用来指定区块链节点的 IP 地址和节点数量。
- 其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port
国密版:(如何区分用国密还是普通暂不知道)
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G
- 其中-g表示生成国密配置,-G表示使用国密SSL连接
5.至此搭链成功
会出现:All completed,若没有出现nodes/build.log检查这个里面的错误信息
6.启动节点
bash nodes/127.0.0.1/start_all.sh
出现下列现象:
try to start node0 try to start node1 try to start node2 try to start node3 node1 start successfully node2 start successfully node0 start successfully node3 start successfully
失败:
(1)进程检查
- 使用 netstat -an | grep tcp 检查端口号 30300
30303,2020020203,8545~8548是否被占用 - 检查进程 ps -ef | grep -v grep | grep fisco-bcos
出现下列现象,不足4则进程启动没有成功(一般端口号被占用导致)
fisco 5453 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini fisco 5459 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini fisco 5464 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node2/../fisco-bcos -c config.ini fisco 5476 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node3/../fisco-bcos -c config.ini
(2)日志检查
- 查看节点数 tail -f nodes/127.0.0.1/node0/log/log* | grep connected
正常情况下会有其他3个不断连接
info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat,connected count=3
- 执行下面指令,检查是否在共识
tail -f nodes/127.0.0.1/node0/log/log* | grep +++
正常情况会不停输出带有++++Generating seal的日志,即表示共识正常。
info|2020-12-22 17:24:43.729402|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=2e133146... info|2020-12-22 17:24:47.740603|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=eb199760...
(二)WeBASE的搭建
参考文档:快速入门搭建 — WeBASE v1.5.5 文档
- 推荐使用CentOs 7.2+,Ubuntu 16.04及以上版本,一键部署脚本将自动安装openssl,curl,wget,git,nginx,dos2unix相关依赖项。配置当前用户的环境变量JAVA HOME
- 用户自己安装下面(上述链接有)
java -version
mysql --version
python3 --version
pip3 list | grep PyMySQL
下面这些安装到哪儿比较合适呢?目前放到了根目录下面
①PyMySQL部署(Python3.6+)
sudo apt-get install -y python3-pip
sudo pip3 install PyMySQL
②Ubuntu环境安装Java
安装默认Java版本(Java 8或以上) sudo apt install -y default-jdk # 查询Java版本 java -version
Java环境变量
补充:
一般apt下载的会自动配置好环境变量
Java安装路径查询:
sudo update-alternatives --config java
一般这个:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
会显示路径,然后利用cd进行切换过去
注:下面添加后不会立即生效需要重新启动系统
也可以使用这个让现在立即重新启动:source ~/.bashrc
配置Java环境,编辑~/.bashrc文件 $ vim /etc/profile #打开以后将下面三句输入到文件里面并保存退出 export JAVA_HOME=/software/jdk-8u301 #这是一个文件目录,非文件 export PATH=$JAVA_HOME/bin:$PATH
③Ubuntu安装mysql数据库
下面是官网的,但不更新了不能使用,直接用第二个 apt-get install software-properties-common sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe' sudo apt-get update sudo apt install mysql-server-5.6 sudo apt install mysql-client-5.6
用下面这个:
sudo apt-get install mysql-server
(1)初始化:
sudo mysql_secure_installation
原因:
- 运行 mysql_secure_installation 的结果:
- 提高安全性,因为你会: - 设置 root 用户的密码。- 删除匿名用户。- 禁止远程 root 登录(推荐做法)。- 删除测试数据库。- 刷新权限表,使更改立即生效。
总结:运行这个脚本是官方推荐的操作,能够强化 MySQL 安装后的安全性,特别适合生产环境。
- 不运行 mysql_secure_installation 的结果:
- 你将保留 默认的配置,这可能包括: - root 用户可能没有设置密码或有弱密码(具体依赖于 MySQL 版本)。- 保留匿名用户,这让更多用户可以访问数据库。- 可能允许 root 用户进行远程登录,这会增加外部攻击风险。- 存在不必要的测试数据库。
总结:不运行 mysql_secure_installation 可能会保留潜在的安全隐患,尤其是在生产环境中。
因此,运行 mysql_secure_installation 是强化安全性的必要步骤,尤其是在生产环境中,而 不运行 则意味着使用 默认配置,这可能存在较多安全风险。
运行后的意思:
1.这个是询问是否更改密码
2.密码强度
3.出现下面这个要选择N,不然他会选择用auth_socket插件验证身份,就没有密码了
Skipping password set for root as authentication with auth_socket is used by default.
2.是否删除匿名用户
3.是否禁用远程登录
4.是否删除测试数据库及其访问权限?(按 y 或 Y 表示同意,按其他任意键表示拒绝)
5.现在重新加载权限表吗?(按 y 或 Y 表示同意,按其他任意键表示拒绝):
补充:
如果上述选择了用插件进行验证,则利用下面进行修改:(有时候不会出现,所以也需要进行下面)
1.进入 MySQL 控制台:
sudo mysql
2.执行以下命令设置 root 用户密码:
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'新密码';(12345678)
注:
- 上面最后的;不能少
- 如果选择0,则必须满足长度至少8位数,其他强度不清楚
3.刷新权限:(root 用户将会通过密码验证,而不是 auth_socket 插件)
FLUSH PRIVILEGES;
(2)检验成功:
输入mysql –version显示下面,则代表安装成功(但是由于不是root用户可能会出现权限不够)
mysql Ver 14.14 Distrib 5.6.16, for debian-linux-gnu (x86_64) using EditLine wrapper
1.进行下载压缩包到:~/fisco/
2.解压
unzip webase-deploy.zip
3.进入目录
cd webase-deploy
4.修改配置文件
配置:common.properties文件
根据下面图片配置
第二部分目录是节点是上一级目录
5.运行
(1)下面是一键运行
python3 deploy.py installAll
出现:deploy has completed 表示成功
再用python3 deploy.py stopAll 停止
之后:python3 deploy.py startAll 启动
之后便可以用
python3 deploy.py startAll 启动
python3 deploy.py stopAll 停止
(2)一条一条启动
版权归原作者 小懿程序员 所有, 如有侵权,请联系我们删除。