通过nginx实现openfire集群的负载均衡

前段时间实现了openfire的集群部署,如果要在应用中实现应用我们还需要一个至关重要的工作:负载分发

我们选中的负载工具是nginx(原因很简单:开源,免费)

1、安装nginx (redhat企业版6.5  64bit环境)

到nginx官网下载最新版本文件,目前最新版本时候nginx-1.9.3.tar.gz

之所以选择最新版本是因为在新版本的nginx中已经提供了tcp负载的支持,不需要再引入其他项目;

安装步骤:

1、 使用tar 命令解压项目文件:tar -zxvf  nginx-1.9.3.tar.gz

2、 进入解压后的项目跟路径下,重新编译项目: ./configure --prefix=/usr/local/nginx  --with -stream

         注意:

           如果需要使用tcp协议的负载,在编译的时候已经要传入参数 --with -stream

          系统报错,提示缺少zlib或者pcre的库,这两个库存在于系统的镜像文件中,我们根据提示将这两个库安装即可,步骤如下:

        1、将镜像文件添加到虚拟机中

        2、 将镜像文件挂载到路径下:

                   mount --bind /media/RHEL_6.5 x86_64 Disc 1  /root/redhat6.5iso

      3、 使用yum命令安装缺少的类库:

              yum install pcre*

              yum install zlib*

3、使用make、make install 命令进行安装

       先执行make命令,然后执行make install命令

4、修改配置

    使用vi 编辑  /usr/local/nginx/conf/nginx.conf配置文件,将一下配置信息添加进去

stream {         
       upstream backend {                         
                hash $remote_addr consistent;                                
                server 10.68.13.27:5222 weight=5;                                                        
                server 10.68.13.30:5222 weight=5;               
        }         
        server {                        
             listen 5222;                                
             proxy_connect_timeout 10s; #设置连接超时时长   必须                           
             proxy_timeout 30s;  #设置代理超时时长          必须                    
             proxy_pass backend;                
        } 
}

5、启动

         最新版本的nginx启动命令为: /usr/local/nginx/sbin/nginx, 关闭命令为:/usr/local/nginx/sbin/nginx -s stop

相关推荐