快速安装

快速安装是为了方便用户搭建开发和测试环境,在单台机器上快速部署WeEvent服务。提供Docker镜像、Bash脚本两种安装方式。

如果是第一次安装WeEvent,参见这里的系统要求 。以下安装过程以Centos 7.2为例。

Docker镜像安装

$ docker pull weevent/weevent:1.0.0; docker run -d -p 8080:8080 weevent/weevent:1.0.0 /root/run.sh

WeEvent的镜像里包括了FISCO-BCOS网络,WeEvent服务的子模块BrokerGovernance,以及各种依赖。

Bash安装

需要的一些基础工具yum install wget tree tar dos2unix lsof gcc openssl-devel pcre-devel

  • 获取安装包

    github下载安装包weevent-1.0.0.tar.gz,并且解压到/tmp/

    $ cd /tmp/
    $ wget https://github.com/WeBankFinTech/WeEvent/releases/download/v1.0.0/weevent-1.0.0.tar.gz
    $ tar -zxf weevent-1.0.0.tar.gz
    

    如果github下载速度慢,可以尝试国内下载链接。 解压后目录结构如下:

    $ cd weevent-1.0.0/ 
    $ tree -L 2
    .
    ├── bin
    │   ├── check-service.sh
    │   ├── start-all.sh
    │   ├── stop-all.sh
    │   └── uninstall-all.sh
    ├── config.properties
    ├── install-all.sh
    ├── modules
    │   ├── broker
    │   ├── governance
    │   └── nginx
    └── third-packages
        └── nginx-1.14.2.tar.gz
    
  • 修改配置

    默认配置文件./config.properties如下:

    # Required module
    # support 2.0 and 1.3
    fisco-bcos.version=2.0
    # FISCO-BCOS node channel, eg: 127.0.0.1:20200;127.0.0.2:20200
    fisco-bcos.channel=127.0.0.1:20200
    # The path of FISCO-BCOS 2.0 that contain certificate file ca.crt/node.crt/node.key,
    # OR FISCO-BCOS 1.3 that contain ca.crt/client.keystore
    fisco-bcos.node_path=~/FISCO-BCOS/127.0.0.1/node0/conf
    
    # Required module
    nginx.port=8080
    
    # Required module
    broker.port=8090
    
    # Optional module
    governance.enable=false
    governance.governance.port=8099
    governance.mysql.ip=127.0.0.1
    governance.mysql.port=3306
    governance.mysql.user=xxx
    governance.mysql.password=yyy
    

    配置说明 :

    • 区块链FISCO-BCOS

      • fisco-bcos.version

        FISCO-BCOS 2.01.3版本都支持,推荐使用2.0及以上版本。

      • fisco-bcos.channel

        区块链节点的channel访问入口。配置多个节点时用;分割,如127.0.0.1:8821;127.0.0.2:8821

      • fisco-bcos.node_path

        区块链节点的访问证书、私钥存放目录。FISCO-BCOS 2.0的证书文件为ca.crtnode.crtnode.key1.3版本的证书文件为ca.crtclient.keystore。 如果WeEvent服务和区块链节点不在同一台机器上,需要把证书文件拷贝到WeEvent机器的当前目录,修改fisco-bcos.node_path=./

    • Nginx监听端口nginx.port

    • Broker监听端口broker.port

    • Governance模块配置

      • governance.enable是否安装Governance模块,默认为false不安装
      • 监听端口governance.port
      • Mysql配置governance.mysql.*
  • 一键安装

    以安装到目录/usr/local/weevent/为例。

    $ ./install-all.sh -p /usr/local/weevent/
    

    正常安装后,输出有如下关键字:

    8081 port is okay
    8080 port is okay
    param ok
    install module broker 
    install broker success 
    install module nginx 
    install nginx success 
    

    如果安装失败,可以在安装日志./install.log中查看更多细节。

    目标安装路径/usr/local/weevent/的结构如下

    $ cd /usr/local/weevent/
    $ tree -L 2
    .
    |-- broker					    
    |   |-- apps
    |   |-- broker.sh
    |   |-- check-service.sh
    |   |-- conf
    |   |-- deploy-topic-control.sh
    |   |-- lib  
    |   `-- logs
    |-- check-service.sh				
    |-- nginx					    	
    |   |-- conf
    |   |-- html
    |   |-- logs
    |   |-- nginx.sh
    |   |-- nginx_temp
    |   `-- sbin   
    |-- start-all.sh					
    |-- stop-all.sh				    
    `-- uninstall-all.sh
    
  • 启停服务

    • 启动服务

      在服务安装目录下/usr/local/weevent,通过start-all.sh命令启动所有服务 ,正常启动如下:

      $ ./start-all.sh
      start broker success (PID=3642)
      add the crontab job success
      start nginx success (PID=3643)
      add the crontab job success
      
    • 停止所有服务的命令./stop-all.sh

  • 检查是否安装成功

    $ ./check-service.sh
    check broker service 
    broker service is ok
    
  • 卸载服务

    执行如下脚本,卸载所有服务:

    $ ./uninstall-all.sh
    WeEvent is running, stop it first? [Y/N]Y 
    stop broker success
    remove the crontab job success
    stop nginx success
    remove the crontab job success
    really want to uninstall WeEvent? [Y/N]Y
    uninstall WeEvent success 
    

快速安装作为一种简易安装方式,所有子模块都是单实例的。生产环境中建议对BrokerGovernance进行多实例部署。各子模块详细部署参见Broker模块部署Governance模块部署