环境
操作系统:CentOS 7
方式一
通过yum安装工具直接安装,简单快捷,通过系统服务启动,添加开机启动等都很方便
安装命令
代码语言:javascript复制yum install haproxy
安装完成之后查看版本
代码语言:javascript复制haproxy -version
启动haproxy服务,查看启动状态就把start换成status,停止就是stop
代码语言:javascript复制systemctl start haproxy
默认haproxy.cnf配置文件是在/etc/haproxy/haproxy.cnf
方式二
通过下载安装包编译安装,相对方式一较为麻烦
首先下载安装包,这里提供一份,点击下载:haproxy-1.5.18.tar.gz
或者使用wget命令直接下载到服务器
代码语言:javascript复制wget https://itze.cn/uploads/haproxy-1.5.18.tar.gz
解压到/usr/local/src
代码语言:javascript复制tar -zxvf haproxy-1.5.18.tar.gz -C /usr/local/src
进入解压后的目录
代码语言:javascript复制cd /usr/local/src/haproxy-1.5.18
查看内核版本
代码语言:javascript复制uname -r
代码语言:javascript复制arch
编译
代码语言:javascript复制make TARGET=linux310 PREFIX=/usr/local/haproxy ARCH=x86_64
- ARGET=linux310,内核版本,使用uname -r查看内核,如:3.10.0-514.el7,此时该参数就为linux310
- ARCH=x86_64,系统位数
- PREFIX=/usr/local/haprpxy #/usr/local/haprpxy,为haprpxy安装路径
编译完成后,进行安装
代码语言:javascript复制make install PREFIX=/usr/local/haproxy
安装完成后,创建目录
代码语言:javascript复制mkdir -p /usr/data/haproxy/
创建HAProxy配置文件
代码语言:javascript复制vim /usr/local/haproxy/haproxy.conf
haproxy.cnf内容,listen proxy_status中替换成真实需求内容
代码语言:javascript复制global
log 127.0.0.1 local0
#log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/local/haproxy
pidfile /usr/data/haproxy/haproxy.pid
uid 99
gid 99
daemon
#debug
#quiet
defaults
log global
mode tcp
option abortonclose
option redispatch
retries 3
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000
listen proxy_status
bind :8081
mode tcp
balance roundrobin
server serverName_1 127.x.x.x:8080 check inter 10s
server serverName_2 127.x.x.x:8080 check inter 10s
frontend admin_stats
bind :8082
mode http
stats enable
option httplog
maxconn 10
stats refresh 30s
stats uri /admin
stats auth admin:123456
stats hide-version
stats admin if TRUE
启动HAProxy
代码语言:javascript复制/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.conf
查看HAProxy进程
代码语言:javascript复制ps -ef|grep haproxy
打开浏览器访问,http://127.0.0.1:8082/admin 账户:admin;密码:123456,将ip换成实际安装haproxy服务器IP
注意事项
如果安装之后访问不了,请检查服务器端口是否开放,本文配置端口web端口是8082,服务端口是8081,可根据实际需求更改,关于开放端口参考:CentOS 7 开启防火墙及开放指定端口
如果服务器防火墙已经添加放行,仍然无法访问,请检查服务器厂商控制面板是否放行,比如阿里云的服务器就去阿里云控制面板中去查看