yzqzs 发表于 2016-12-25 10:27:16

通过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
页: [1]
查看完整版本: 通过nginx实现openfire集群的负载均衡