(一)、配置MySQL用户密码以及新建数据库
1、进入到etc/mysql 目录下,查看debian.cnf文件
2、 找到用户名(user),密码(password) ,使用此账号登录mysql
3、修改root用户的的密码
show databases;
use mysql;
update user set authentication_string=PASSWORD("自定义密码") where user='root';
# update user set authentication_string=PASSWORD("000000") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
4、修改完密码,需要重启mysql
/etc/init.d/mysql restart
再次使用自己的用户密码就可以登录了
(二)、安装配置java,mysql,python
1、java (11版本)
2、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
sudo apt install mysql-client
报错1.
安装成功截图
mysql --version
3、python3
// 添加仓库,回车继续
sudo add-apt-repository ppa:deadsnakes/ppa
// 安装python 3.6
sudo apt-get install -y python3.6
sudo apt-get install -y python3-pip
安装成功截图
python3 --version
4、pymysql
sudo apt-get install -y python3-pip
sudo pip3 install PyMySQL
(三)、一键部署
一键部署可以在 同机 快速搭建WeBASE管理台环境,方便用户快速体验WeBASE管理平台。
一键部署会搭建:节点(FISCO-BCOS 2.0+)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、节点前置子系统(WeBASE-Front)、签名服务(WeBASE-Sign)。其中,节点的搭建是可选的,可以通过配置来选择使用已有链或者搭建新链。一键部署架构如下:
1、检查环境
①平台要求
推荐使用CentOS 7.2+, Ubuntu 16.04及以上版本, 一键部署脚本将自动安装openssl, curl, wget, git, nginx, dos2unix
相关依赖项。
其余系统可能导致安装依赖失败,可自行安装openssl, curl, wget, git, nginx, dos2unix
依赖项后重试
若使用Docker模式一键部署,可只安装Docker、Docker-Compose,无需配置Mysql与Java环境
②检查所需要环境版本
#java
java -version
#mysql
mysql --version
#python
python3 --version
2、检查服务器网络策略
网络策略检查:
- 开放WeBASE管理平台端口:检查webase-web管理平台页面的端口
webPort
(默认为5000)在服务器的网络安全组中是否设置为开放。如,云服务厂商如腾讯云,查看安全组设置,为webase-web开放5000端口。若端口未开放,将导致浏览器无法访问WeBASE服务页面 - 开放节点前置端口:如果希望通过浏览器直接访问webase-front节点前置的页面,则需要开放节点前置端口
frontPort
(默认5002);由于节点前置直连节点,不建议对公网开放节点前置端口,建议按需开放
3、 获取部署安装包
#获取脚本
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip
#解压安装包
unzip webase-deploy.zip
#进入目录
cd webase-deploy
4、修改配置
① mysql数据库需提前安装,已安装直接配置即可,还未安装请参看数据库部署;
② 修改配置文件(vi common.properties
);
- 若使用可视化部署,则忽略下文,将修改
visual-deploy.properties
,并进行可视化部署依赖服务的一键安装,具体请参考可视化部署-一键安装依赖服务
③ 一键部署支持使用已有链或者搭建新链。通过参数”if.exist.fisco”配置是否使用已有链,以下配置二选一即可:
- 当配置”yes”时,需配置已有链的路径
fisco.dir
。路径下要存在sdk目录,sdk目录中包含ca.crt, sdk.crt, sdk.key及gm目录,gm目录中包含国密SSL所需证书,包含gmca.crt、gmsdk.crt、gmsdk.key、gmensdk.crt和gmensdk.key - 当配置”no”时,需配置节点fisco版本和节点安装个数,搭建的新链默认两个群组
如果不使用一键部署搭建新链,可以参考FISCO BCOS官方文档搭建 FISCO BCOS部署流程;
注:使用国密版需要修改设置配置项encrypt.type=1
。前置SDK与节点默认使用非国密SSL,如果需要使用国密SSL,需要修改设置配置项encrypt.sslType=1
。
④ 服务端口不能小于1024
⑤ 部署时,修改 common.properties
配置文件
将图中标红的位置修改为自己的配置
如果使用自己的已有链将if.exist.fisco=no修改为yes
将fisco的地址修改为自己的地址 (没有修改为yes的不需要做修改)
5、部署
- 执行installAll命令,部署服务将自动部署FISCO BCOS节点,并部署 WeBASE 中间件服务,包括签名服务(sign)、节点前置(front)、节点管理服务(node-mgr)、节点管理前端(web)
备注:
- 部署脚本会拉取相关安装包进行部署,需保持网络畅通
- 首次部署需要下载编译包和初始化数据库,重复部署时可以根据提示不重复操作
- 部署过程中出现报错时,可根据错误提示进行操作,或根据本文档中的常见问题进行排查
- 不要用sudo执行脚本,例如
sudo python3 deploy.py installAll
(sudo会导致无法获取当前用户的环境变量如JAVA_HOME没有配置的可以移步到Ubuntu配置JAVA_HOME。JAVA_HOME has not been configured_ubuntu配置javahome_晚风皆是过客.的博客-CSDN博客)
# 部署并启动所有服务
python3 deploy.py installAll
部署完成后可以看到deploy has completed
的日志:
$ python3 deploy.py installAll
...
============================================================
_ _ ______ ___ _____ _____
| | | | | ___ \/ _ \/ ___| ___|
| | | | ___| |_/ / /_\ \ `--.| |__
| |/\| |/ _ | ___ | _ |`--. | __|
\ /\ | __| |_/ | | | /\__/ | |___
\/ \/ \___\____/\_| |_\____/\____/
...
...
============================================================
============== deploy has completed ==============
============================================================
============== webase-web version v1.5.5 ========
============== webase-node-mgr version v1.5.5 ========
============== webase-sign version v1.5.3 ========
============== webase-front version v1.5.5 ========
============================================================
服务部署后,需要对各服务进行启停操作,可以使用以下命令:
# 一键部署
部署并启动所有服务 python3 deploy.py installAll
停止一键部署的所有服务 python3 deploy.py stopAll
启动一键部署的所有服务 python3 deploy.py startAll
# 各子服务启停
启动FISCO-BCOS节点: python3 deploy.py startNode
停止FISCO-BCOS节点: python3 deploy.py stopNode
启动WeBASE-Web: python3 deploy.py startWeb
停止WeBASE-Web: python3 deploy.py stopWeb
启动WeBASE-Node-Manager: python3 deploy.py startManager
停止WeBASE-Node-Manager: python3 deploy.py stopManager
启动WeBASE-Sign: python3 deploy.py startSign
停止WeBASE-Sign: python3 deploy.py stopSign
启动WeBASE-Front: python3 deploy.py startFront
停止WeBASE-Front: python3 deploy.py stopFront
# 可视化部署
部署并启动可视化部署的所有服务 python3 deploy.py installWeBASE
停止可视化部署的所有服务 python3 deploy.py stopWeBASE
启动可视化部署的所有服务 python3 deploy.py startWeBASE
(四)、完成之后的状态检查
成功部署后,可以根据以下步骤确认各个子服务是否启动成功
1、检查各子系统进程
通过ps
命令,检查各子系统的进程是否存在
- 包含:节点进程
nodeXX
,节点前置进程webase.front
,节点管理服务进程webase.node.mgr
,节点管理平台webase-web
的nginx
进程,以及签名服务进程webase.sign
检查方法如下,若无输出,则代表进程未启动,需要到该子系统的日志中检查日志错误信息,并根据错误提示或本文档的常见问题进行排查
- 检查节点进程,此处部署了两个节点node0, node1
ps -ef | grep node
- 检查节点前置webase-front的进程
ps -ef | grep webase.front
- 检查节点管理服务webase-node-manager的进程
ps -ef | grep webase.node.mgr
- 检查webase-web对应的nginx进程
ps -ef | grep nginx
- 检查签名服务webase-sign的进程
ps -ef | grep webase.sign
5、检查服务日志
1、各子服务的日志路径如下:
|-- webase-deploy # 一键部署目录
|--|-- log # 部署日志目录
|--|-- webase-web # 管理平台目录
|--|--|-- log # 管理平台日志目录
|--|-- webase-node-mgr # 节点管理服务目录
|--|--|-- log # 节点管理服务日志目录
|--|-- webase-sign # 签名服务目录
|--|--|-- log # 签名服务日志目录
|--|-- webase-front # 节点前置服务目录
|--|--|-- log # 节点前置服务日志目录
|--|-- nodes # 一件部署搭链节点目录
|--|--|-- 127.0.0.1
|--|--|--|-- node0 # 具体节点目录
|--|--|--|--|-- log # 节点日志目录
备注:当前节点日志路径为一键部署搭链的路径,使用已有链请在相关路径查看日志
日志目录中包含{XXX}.log
全量日志文件和{XXX}-error.log
错误日志文件
- 通过日志定位错误问题时,可以结合
.log
全量日志和-error.log
错误日志两种日志信息进行排查。,如查询WeBASE-Front日志,则打开WeBASE-Front-error.log
可以快速找到错误信息,根据错误查看WeBASE-Front.log
的相关内容,可以看到错误日志前后的普通日志信息
2、检查服务日志有无错误信息
- 如果各个子服务的进程已启用且端口已监听,可直接访问下一章节访问WeBASE
- 如果上述检查步骤出现异常,如检查不到进程或端口监听,则需要按日志路径进入异常子服务的日志目录,检查该服务的日志
- 如果检查步骤均无异常,但服务仍无法访问,可以分别检查部署日志
deployLog
,节点前置日志frontLog
, 节点管理服务日志nodeMgrLog
进行排查:- 检查webase-deploy/log中的部署日志,是否在部署时出现错误
- 检查webase-deploy/webase-front/log中的节点前置日志,如果最后出现
application run success
字样则代表运行成功 - 检查webase-deploy/webase-node-mgr/log或webase-deploy/webase-sign/log中的日志
- 检查webase-deploy/nodes/127.0.0.1/nodeXXX/log中的节点日志
3、搜索日志
通过查看日志可以检查服务的运行状态,我们可以进入各子服务的日志路径,通过grep
检查日志文件,以此判断服务是否正常运行
- 查看运行成功日志:WeBASE子服务运行成功后均会打印日志
main run success
,可以通过搜索此关键字来确认服务正常运行。
如,检查webase-front日志,其他WeBASE服务可进行类似操作
cd webase-front
grep -B 3 "main run success" log/WeBASE-Front.log
输出如下
2023-7-09 15:47:25.355 [main] INFO ScheduledAnnotationBeanPostProcessor() - No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2023-7-09 15:47:25.378 [main] INFO TomcatEmbeddedServletContainer() - Tomcat started on port(s): 5002 (http)
2023-7-09 15:47:25.383 [main] INFO Application() - Started Application in 6.983 seconds (JVM running for 7.768)
2023-7-09 15:47:25.383 [main] INFO Application() - main run success...
4、访问(通过浏览器输入)
http://{deployIP}:{webPort}
示例:http://localhost:5000