Linux 下 HAProxy 安装

508

安装依赖包

  • haproxy部署安装对环境有要求,一键安装以下依赖即可。
yum -y install wget  gcc gcc-c++

下载并解压安装包

  • 先新建一个文件夹,博主喜欢在/var下面安装服务器软件
cd /var
mkdir haproxy
cd haproxy
  • 下载tar包并解压缩
wget https://github.com/haproxy/haproxy/archive/v1.5-dev20.tar.gz && tar -zvxf v1.5-dev20.tar.gz
cd haproxy-1.5-dev20

安装nginx

  • 查看内核版本
uname -a

  • 如图所示内核版本为3.10开头,执行下列编译命令:
make TARGET=linux310 ARCH=x86_64 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

这里可能会报错cannot bind UNIX socket [/var/lib/haproxy/stats] 解决方案:mkdir -p /var/lib/haproxy && touch /var/lib/haproxy/stats

配置haproxy.conf

  • 进入编译后的haproxy文件夹
cd /usr/local/haproxy
  • 新建conf目录,并新建一个配置文件
mkdir conf
touch /usr/local/haproxyconf/haproxy.conf
  • 编辑配置文件
vim /usr/local/haproxyconf/haproxy.conf

这里配置从简,制作最基本的配置。

global
  log 127.0.0.1 local2 #[err warning info debug]
  chroot /usr/local/haproxy
  pidfile /var/run/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件
  maxconn 65535 #最大连接数,默认4000
  daemon		#后台启动
  
defaults
  mode tcp
  log global
  timeout connect 20s
  timeout server 60s
  timeout client 60s
  retries 3
  
listen stats
  mode http
  bind 0.0.0.0:8989 #监听端口
  stats refresh 10s #统计页面自动刷新时间
  stats uri /stats #统计页面url
  stats realm Haproxy Manager #统计页面密码框上提示文本
  stats auth chihiro:chihiroadmin #统计页面用户名和密码设置
  stats hide-version #隐藏统计页面上HAProxy的版本信息
  
listen chihirov1
  bind :8901     #监听端口
  server s1 xxx.xxx.xxx.xxx:1234 #转发IP+端口

listen chihirov2
  bind :8902     #监听端口
  server s2  xxx.xxx.xxx.xxx:5678  #转发IP+端口

启动haproxy

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
  • 查看nginx是否启动:ps -ef | grep haproxy

打开防火墙

  • 博主使用的CentOS7,开放防火墙的8989端口
firewall-cmd --zone=public --add-port=8989/tcp --permanent
firewall-cmd --reload

这里只打开了haproxy的监控端口,后续代理了什么端口也要相应的打开防火墙端口。

至此haproxy已经搭建完成,去做测试吧WwW