部署说明

    ​ WeBASE-Data-Collect为监管数据导出和分析服务,自带配置页面,支持配置多个链,并通过添加区块链前置来获取区块链数据。同时可以配置应用相关信息,合约和用户信息。

    进入目录:

    方式一:如果服务器已安装Gradle,且版本为gradle-4.10至gradle-6.x版本

    1. gradle build -x test

    方式二:如果服务器未安装Gradle,或者版本不是gradle-4.10至gradle-6.x版本,使用gradlew编译

    1. chmod +x ./gradlew && ./gradlew build -x test

    构建完成后,会在目录WeBASE-Data-Collect下生成已编译的代码目录dist。

    3.2 数据库初始化

    (1)新建数据库

    1. #登录MySQL:
    2. mysql -u ${your_db_account} -p${your_db_password}
    3. 例如:mysql -u root -p123456
    4. #新建数据库:
    5. CREATE DATABASE IF NOT EXISTS {your_db_name} DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    6. 例如:CREATE DATABASE IF NOT EXISTS webasedata DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    (2)修改脚本配置

    进入数据库脚本目录script

    1. cd dist/script

    修改数据库连接信息:

    1. 修改数据库名称:sed -i "s/webasedata/${your_db_name}/g" webase.sh
    2. 修改数据库用户名:sed -i "s/defaultAccount/${your_db_account}/g" webase.sh
    3. 修改数据库密码:sed -i "s/defaultPassword/${your_db_password}/g" webase.sh
    1. sed -i "s/defaultAccount/root/g" webase.sh

    (3)运行数据库脚本

    1. bash webase.sh ${dbIP} ${dbPort}
    2. 例如:bash webase.sh 127.0.0.1 3306

    3.3 配置修改

    (1)回到dist目录,dist目录提供了一份配置模板conf_template:

    1. 根据配置模板生成一份实际配置conf。初次部署可直接拷贝。
    2. 例如:cp conf_template conf -r

    (2)修改配置文件conf/applicationyml,主要修改数据库连接和es连接信息,完整配置项说明请查看 配置项说明(附录3.1)

    • 服务端口,默认不修改。
    • 数据库连接(数据库名需事先创建)。

    3.4 服务启停

    1. 启动:bash start.sh
    2. 停止:bash stop.sh
    3. 检查:bash status.sh

    备注:服务进程起来后,需通过日志确认是否正常启动,出现以下内容表示正常;如果服务出现异常,确认修改配置后,重启。如果提示服务进程在运行,则先执行stop.sh,再执行start.sh。

    1. ...
    2. Application() - main run success...

    3.5 访问

    配置页面访问:

    1. http://{deployIP}:{deployPort}/WeBASE-Data-Collect
    2. 示例:http://localhost:5009/WeBASE-Data-Collect
    • 部署服务器IP和服务端口需对应修改,网络策略需开通
    1. 全量日志:tail -f log/WeBASE-Data-Collect.log
    2. 错误日志:tail -f log/WeBASE-Data-Collect-error.log

    ​ WeBASE-Data-Fetcher为监管数据查询服务,向WeBASE-Data-Web服务提供数据查询接口。

    4.1 编译代码

    返回WeBASE-Data目录并进入WeBASE-Data-Fetcher目录。

    方式一:如果服务器已安装Gradle,且版本为gradle-4.10至gradle-6.x版本

    1. gradle build -x test

    方式二:如果服务器未安装Gradle,或者版本不是gradle-4.10至gradle-6.x版本,使用gradlew编译

    1. chmod +x ./gradlew && ./gradlew build -x test

    4.2 配置修改

    (1)dist目录,dist目录提供了一份配置模板conf_template:

    1. 根据配置模板生成一份实际配置conf。初次部署可直接拷贝。
    2. 例如:cp conf_template conf -r

    (2)修改配置文件conf/applicationyml,完整配置项说明请查看

    • 服务端口,默认不修改。
    • 数据库连接(数据库名需事先创建,需要和WeBASE-Data-Collect服务连接相同的数据库)。
    • 如果需要进行搜索,查询elasticsearch里的交易数据,需要将ifEsEnable设置成true,并配置IP端口和用户名密码。不使用则不需要修改。使用elasticsearch的话,需先部署elasticsearch,再部署WeBASE-Data
    1. # server config
    2. server:
    3. servlet:
    4. context-path: /WeBASE-Data-Fetcher
    5. # database connection configuration
    6. spring:
    7. datasource:
    8. driver-class-name: com.mysql.cj.jdbc.Driver
    9. url: jdbc:mysql://127.0.0.1:3306/webasedata?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
    10. username: "defaultAccount"
    11. password: "defaultPassword"
    12. elasticsearch:
    13. rest:
    14. uris: 127.0.0.1:9200
    15. username: "elasticAccount"
    16. password: "elasticPassword"
    17. # constant config
    18. constant:
    19. ## if use elasticsearch
    20. ifEsEnable: false
    21. ...

    4.3 服务启停

    1. 启动:bash start.sh
    2. 停止:bash stop.sh
    3. 检查:bash status.sh

    备注:服务进程起来后,需通过日志确认是否正常启动,出现以下内容表示正常;如果服务出现异常,确认修改配置后,重启。如果提示服务进程在运行,则先执行stop.sh,再执行start.sh。

    4.4 访问

    没有单独页面,可以通过swagger查看调用接口:

    1. 示例:http://localhost:5010/WeBASE-Data-Fetcher/swagger-ui.html
    • 部署服务器IP和服务端口需对应修改,网络策略需开通
    1. 全量日志:tail -f log/WeBASE-Data-Fetcher.log
    2. 错误日志:tail -f log/WeBASE-Data-Fetcher-error.log

    ​ WeBASE-Data-Web为数据监管平台,提供数据浏览页面。

    5.1 进入目录

    返回WeBASE-Data目录并进入WeBASE-Data-Web目录。

    1. cd WeBASE-Data-Web

    5.2 配置修改

    ​ 在docs目录下有配置文件nginx.conf,修改完后替换安装的nginx的配置文件nginx.conf(这里nginx安装配置文件在/usr/local/nginx/conf下面,如果这里没找到,可以到/etc下寻找,如有权限问题,请加上sudo)。

    • 修改配置:
    1. # 修改服务器ip,也可以使用域名
    2. sed -i "s%127.0.0.1%${your_ip}%g" docs/nginx.conf
    3. # 修改WeBASE-Data-Web服务端口(端口需要开通策略且不能被占用)
    4. # 修改静态文件路径(文件需要有权限访问)
    5. sed -i "s%/data/WeBASE-Data-Web/dist%${your_file_dir}%g" docs/nginx.conf
    6. # WeBASE-Data-Fetcher服务ip和端口
    7. sed -i "s%10.0.0.1:5010%${your_fetcher}%g" docs/nginx.conf
    • 复制配置文件nginx.conf
    1. cp -rf docs/nginx.conf /usr/local/nginx/conf

    备注: 如果服务器已有nginx,可在原配置文件nginx.conf增加一个server:

    1. upstream data_server{
    2. server 10.0.0.1:5010; # WeBASE-Data-Fetcher服务ip和端口
    3. }
    4. server {
    5. listen 5200 default_server; # 前端端口(端口需要开通策略且不能被占用)
    6. server_name 127.0.0.1; # 服务器ip,也可配置为域名
    7. location / {
    8. root /WeBASE-Data/WeBASE-Data-Web/dist; # 前端文件路径(对应修改文件需要有权限访问)
    9. index index.html index.htm;
    10. try_files $uri $uri/ /index.html =404;
    11. }
    12. include /etc/nginx/default.d/*.conf;
    13. location /mgr {
    14. proxy_pass http://data_server/;
    15. proxy_set_header Host $host;
    16. proxy_set_header X-Real-IP $remote_addr;
    17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    18. }
    19. }

    5.3 启动nginx

    启动命令:

    1. /usr/local/nginx/sbin/nginx # nginx在/usr/local目录下
    1. ps -ef | grep nginx

    5.4 访问

    1. http://{deployIP}:{webPort}
    • 部署服务器IP和服务端口需对应修改,网络策略需开通