OpenFire源码学习之三十:haproxy负载均衡

安装

使用Haproxy做负载均衡。

下载地址:http://www.haproxy.com/downloads/trial-versions/

下载后解压:

tar zcvf haproxy-1.3.20.tar.gz

cd haproxy-1.3.20

make TARGET=linux26 PREFIX=/usr/local/haprpxy

make install PREFIX=/usr/local/haproxy

本人安装在/usr/local/haproxy

解下来编辑haproxy.cfg

vi haproxy.cfg

global  
    maxconn 51200  
    chroot /usr/local/haproxy  
    uid 99  
    gid 99  
    daemon  
    #quiet  
    nbproc 2 #进程数  
    pidfile /usr/local/haproxy/haproxy.pid  
  
defaults  
        mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK  
        #retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置  
        option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器  
        option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接  
        timeout connect 5000ms #连接超时  
        timeout client 30000ms #客户端超时  
        timeout server 30000ms #服务器超时  
        #timeout check 2000 #=心跳检测超时  
        log 127.0.0.1 local0 err #[err warning info debug]  
        balance roundrobin #负载均衡算法  
	#option  httplog #日志类别,采用httplog  
	#option  httpclose   #每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现  
	#option  dontlognull  
	#option  forwardfor  #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip  
  
listen admin_stats  
        bind 0.0.0.0:8888 #监听端口  
        option httplog #采用http日志格式  
        stats refresh 30s #统计页面自动刷新时间  
        stats uri /haproxy-stats #统计页面url  
        stats realm Haproxy Manager #统计页面密码框上提示文本  
        stats auth admin:admin #统计页面用户名和密码设置  
        #stats hide-version #隐藏统计页面上HAProxy的版本信息  
  
listen test1  
        bind :5222  
        mode tcp  
        server t1 192.169.1.120:5222  
        server t2 192.169.1.240:5222  
		server t3 192.169.1.250:5222  
  
listen test2 192.169.1.245:80  
       option httpclose  
       option forwardfor  
        server s1 192.169.1.120:9090 check weight 1 minconn 1 maxconn 3 check inter 40000        
        server s2 192.169.1.240:9090 check weight 1 minconn 1 maxconn 3 check inter 40000 
		server s3 192.169.1.250:9090 check weight 1 minconn 1 maxconn 3 check inter 40000 

启动

开启:/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg 

查看进程:ps -e|grep haproxy

杀死进程:kill -s 9 9883

另外还需要设置下linux环境下的打开连接数

修改linux tcp参数

ulimit -n 102400


原文地址:https://www.cnblogs.com/huwf/p/4273339.html