浏览器后端服务¶
标签:后端服务
区块链浏览器
1.功能说明¶
本工程是区块链浏览器的后端服务,功能是解析节点数据储存数据库,向前端提供数据接口,页面展示。
2.前提条件¶
环境 | 版本 |
---|---|
Java | jdk1.8.0_121或以上版本 |
gradle | gradle-5.0或以上版本 |
数据库 | mysql-5.6或以上版本 |
备注:安装说明请参看附录。 |
3.部署说明¶
3.1 拉取代码¶
执行命令:
git clone https://github.com/FISCO-BCOS/fisco-bcos-browser.git
cd fisco-bcos-browser
3.3 修改配置¶
(1)dist目录中提供了一份配置模板dist/conf_template,供拷贝参考:
需要根据配置模板生成一份实际配置dist/conf。初次安装可直接拷贝。
例如:cp dist/conf_template dist/conf -r
(2)进入目录:
cd dist/conf
(3)修改服务配置(没变化可以不修改):
数据库服务器,和数据库需要提前准备,创建方法可以参照附录。
修改当前服务端口:sed -i "s/5101/${your_server_port}/g" application.yml
修改数据库IP:sed -i "s/127.0.0.1/${your_db_ip}/g" application.yml
修改数据库用户名:sed -i "s/dbUsername/${your_db_account}/g" application.yml
修改数据库密码:sed -i "s/dbPassword/${your_db_password}/g" application.yml
修改数据库名称:sed -i "s/db_browser/${your_db_name}/g" application.yml
例子(将数据库IP由127.0.0.1改为0.0.0.0):sed -i "s/127.0.0.1/0.0.0.0/g" application.yml
温馨提示:
- 实际生产中建议将编译后的安装包(dist目录)放到服务部署目录。例如/data/app/fisco-bcos-browser
4.问题排查¶
4.2 gradle build失败¶
gradle build
执行后,出现下面错误。请检查gradle版本,需要使用5.0以上版本。
Could not find method annotationProcessor() for arguments [org.projectlombok:lombok:1.18.2] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
5.附录¶
5.1 Java环境部署¶
此处给出简单步骤,供快速查阅。更详细的步骤,请参考官网。
(1)从官网下载对应版本的java安装包,并解压到相应目录
mkdir /software
tar -zxvf jdkXXX.tar.gz /software/
(2)配置环境变量
export JAVA_HOME=/software/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5.2 gradle环境部署¶
此处给出简单步骤,供快速查阅。更详细的步骤,请参考官网。
(1)从官网下载对应5.0以上版本的gradle安装包,并解压到相应目录
mkdir /software/
unzip -d /software/ gradle-XXX.zip
(2)配置环境变量
export GRADLE_HOME=/software/gradle-XXX
export PATH=$GRADLE_HOME/bin:$PATH
5.3 数据库部署¶
此处以Centos/Fedora为例。
(1)切换到root
sudo -s
(2)安装mysql
yum install mysql*
#某些版本的linux,需要安装mariadb,mariadb是mysql的一个分支
yum install mariadb*
(3)启动mysql
service mysqld start
#若安装了mariadb,则使用下面的命令启动
systemctl start mariadb.service
(4)初始化数据库用户
初次登录
mysql -u root
给root设置密码和授权远程访问
mysql > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
安全温馨提示:
- 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
- 例子中的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号
授权test用户本地访问数据库
mysql > create user 'test'@'localhost' identified by '123456';
(5)测试连接
另开一个ssh测试本地用户test是否可以登录数据库
mysql -utest -p123456 -h 127.0.0.1 -P 3306
登陆成功后,执行以下sql语句,若出现错误,则用户授权不成功
mysql > show databases;
mysql > use test;
(6)创建数据库
登录数据库
mysql -utest -p123456 -h 127.0.0.1 -P 3306
创建数据库
mysql > create database db_browser;