Nginx模块

WeEvent通过Nginx实现负载均衡。

WeEvent服务支持主流的Linux发行版,如CentOSUbuntuRedhat。本节介绍WeEvent服务Nginx模块的详细安装步骤。WeEvent服务的快速安装请参见WeEvent快速安装

以下安装以CentOS 7.2为例。

安装Nginx

下载安装包weevent-nginx安装包,解压到/usr/local/weevent/下。

$ cd /usr/local/weevent/
$ wget https://github.com/WeBankFinTech/WeEvent/releases/download/v0.9.0/weevent-nginx-0.9.0.tar.gz
$ tar -zxf weevent-nginx-0.9.0.tar.gz

如果机器无法访问外网wget执行失败,可以通过别的方式下载再rz上传。

解压后目录结构如下:

$ cd ./weevent-nginx-0.9.0
$ tree -L 2
.
|-- build-nginx.sh
|-- conf
|   |-- cert.key
|   |-- cert.pem
|   |-- conf.d
|   `-- nginx.conf
|-- nginx.sh
`-- third-packages
    |-- nginx-1.14.2.tar.gz
    `-- pcre-8.20.tar.gz

WeEvent既支持HTTP访问,也支持HTTPS访问,可通过配置文件切换。

安装Nginx,操作如下

$ ./build-nginx.sh -p /user/local/nginx
build & install pcre
build & install nginx
nginx install complete!

进入目录,进行相关配置进行修改。

Nginx配置HTTP访问

  • 修改Nginx监听端口

    在配置文件./conf.d/http.conf里修改Nginx监听端口。其他配置项一般不需要修改。

    server {
      	#配置nginx的监听端口
        listen          8080;
        server_name     localhost;
    
        ...
    }
    
  • 修改WeEvent子模块反向代理

    在配置文件./conf.d/rs.conf 里设置子模块BrokerGovernance的实例。

    每增加一个实例,在这个配置文件里对应加一行server项,比如:

    upstream broker_backend{
        server 127.0.0.1:8081 weight=100 max_fails=3;
        server 127.0.0.2:8081 weight=100 max_fails=3;
    
        ip_hash;
        keepalive 1024;
    }
    
    upstream governance_backend{
        server 127.0.0.1:8082 weight=100 max_fails=3;
        server 127.0.0.2:8082 weight=100 max_fails=3;
    
        ip_hash;
        keepalive 1024;
    }
    
    upstream grafana_backend{
        server 127.0.0.1:3000 weight=100 max_fails=3;
        server 127.0.0.2:3000 weight=100 max_fails=3;
    
        ip_hash;
        keepalive 1024;
    }
    

Nginx配置HTTPS访问

  • 修改Nginx监听端口

    在配置文件./conf.d/https.conf里修改Nginx监听端口。其他配置项一般不需要修改。

    server {
        listen          443 ssl;
        server_name     localhost;
        ...
    }
    
  • 修改WeEvent子模块反向代理

    和上面HTTP访问的修改步骤一致。

服务启停

通过./nginx.sh start命令启动Nginx,正常启动如下:

$ ./nginx.sh start
start nginx success (PID=3643)
add the crontab job success

通过./nginx.sh stop停止Nginx

./nginx.sh start命令会启动进程,并且将进程监控命令./broker.sh monitor添加到crontab里。

./broker.sh stop命令在进程成功停止后会移除crontab监控任务。