Linux安装HAProxy(CentOS 7)

不问归期 提交于 2019-12-15 19:34:42

一、HAProxy简介

  HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 
  HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 
  HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

以下为HAProxy配置两台服务器,其地址为:

服务器1:10.192.235.23:8023

服务器2:10.192.235.211:8023

HAProxy安装地址:10.192.235.23:18023

 

二、HAProxy的下载

下载地址1:http://www.haproxy.org/

下载地址2:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/

这里,我用下载地址2进行下载;我们选择一个稳定的版本1.8.8

 

三、HAProxy的解压

[root@linux-centos7 ~]# cd /usr/local/src/
[root@linux-centos7 src]# tar zxvf haproxy-1.8.8.tar.gz

 

四、HAProxy的安装

[root@linux-centos7 src]#  cd haproxy-1.8.8
[root@linux-centos7 haproxy-1.8.8]# uname -r
3.10.0-514.26.2.el7.x86_64
[root@linux-centos7 haproxy-1.8.8]# make TARGET=linux310 ARCH=x86_64 PREFIX=/usr/local/haproxy
[root@linux-centos7 haproxy-1.8.8]# make install PREFIX=/usr/local/haproxy

参数说明:

  • TARGET=linux310,内核版本,使用uname -r查看内核,如:3.10.0-514.26,此时该参数就为linux310;kernel 大于2.6.28的可以用:TARGET=linux2628;
  • ARCH=x86_64,系统位数;
  • PREFIX=/usr/local/haprpxy #/usr/local/haprpxy,为haprpxy安装路径

 

五、配置文件的修改

  1.79及以后的版本解压后文件内就没有haproxy.cfg文件;由于没有配置其他的服务器,这里就简单的添加一个可以让Haproxy启动的配置。

[root@linux-centos7 haproxy-1.8.8]# cd /usr/local/haproxy
[root@linux-centos7 haproxy]# mkdir conf
[root@linux-centos7 haproxy]# ls
conf  doc  sbin  share
[root@linux-centos7 haproxy]# cd conf/
[root@linux-centos7 conf]# vim haproxy.cfg

配置内容如下:

listen admin_stats
        bind 0.0.0.0:1080
        mode http
        option httplog
        maxconn 10
        stats refresh 30s
        stats uri /stats
        stats realm XingCloud\ Haproxy
        stats auth admin:admin
        stats auth  Frank:Frank
        stats hide-version
        stats  admin if TRUE

frontend viid_local_cluster
	bind 0.0.0.0:18023
	mode http
	option httplog 
	option forwardfor 
	option httpclose 
	log global
	default_backend htmpool

backend htmpool
        mode http
        option redispatch
        option	abortonclose
	balance roundrobin
        cookie SERVERID insert indirect nocache
	server serverd1 10.192.235.23:8023 check cookie server1 weight 3 check inter 2000 rise 2 fall 3
	server serverd2 10.192.235.211:8023 check cookie server2 weight 6 check inter 2000 rise 2 fall 3

说明(配置时注意修改以下参数):

1、listen admin_stats配置管理页面;bind 0.0.0.0:1080为Haproxy绑定管理页面;

2、frontend viid_local_cluster表示监听的前端请求地址,绑定的请求地址为:bind 0.0.0.0:18023

3、backend htmpool表示后端的真实服务器;其地址为10.192.235.23:8023和10.192.235.211:8023

 

六、启动和停止HAProxy

1、启动:

[root@linux-centos7 conf]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

2、验证一下是否启动成功:

[root@linux-centos7 conf]# lsof -i :1080
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
haproxy 13263 nobody    3u  IPv4 994405      0t0  TCP *:socks (LISTEN)
[root@linux-centos7 conf]#

3、管理页面展示,地址为安装Haproxy的主机地址,路径类似如下:10.192.235.23:1080/stats;

账号和密码默认均为:admin

4、停止:

[root@linux-centos7 conf]# ps -ef|grep haproxy
nobody   13263     1  0 19:16 ?        00:00:00 /usr/haproxy/sbin/haproxy -f /usr/haproxy/conf/haproxy.cfg
root     14579 12890  0 20:21 pts/1    00:00:00 grep --color=auto haproxy
[root@linux-centos7 conf]# kill -9 13263

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!