编译安装
下载网址:https://www.haproxy.org/download/
解决 lua 环境
下载地址:http://www.lua.org/ftp/
`安装基础命令及编译依赖环境`
[root@master-a src]# yum install gcc readline-devel
[root@master-a src]# wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
[root@master-a src]# tar xf lua-5.3.5.tar.gz -C /usr/local/src/
[root@master-a src]# cd /usr/local/src/lua-5.3.5/
[root@master-a lua-5.3.5]# make linux test
`查看编译安装的版本`
[root@master-a lua-5.3.5]# src/lua -v
安装haproxy
#vHAProxy 1.8及1.9版本编译参数:
# make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
`#HAProxy 2.0以上版本编译参数:`
[root@master-a lua-5.3.5]# yum -y install gcc openssl-devel pcre-devel systemd-devel
[root@master-a src]# wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
[root@master-a src]# tar xf haproxy-2.1.12.tar.gz -C /usr/local/src/
[root@master-a src]# cd /usr/local/src/haproxy-2.1.12/
[root@master-a haproxy-2.1.12]# cat INSTALL
`#参考INSTALL文件进行编译安装`
[root@master-a haproxy-2.1.12]# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/
[root@master-a haproxy-2.1.12]# make install PREFIX=/apps/haproxy
`加一个软连接`
[root@master-a haproxy-2.1.12]# ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
`查看版本`
[root@master-a haproxy-2.1.12]# haproxy -v
HA-Proxy version 2.1.12-529bae5 2021/03/18 - https://haproxy.org/
Status: End of life - please upgrade to branch 2.2.
Known bugs: http://www.haproxy.org/bugs/bugs-2.1.12.html
Running on: Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
配置文件
`#创建自定义的配置文件`
[root@master-a haproxy-2.1.12]# mkdir /etc/haproxy
[root@master-a haproxy-2.1.12]# vim /etc/haproxy/haproxy.cfg
global
maxconn 100000
chroot /apps/haproxy
stats socket /apps/haproxy/run/haproxy.sock mode 600 level admin
uid 99
gid 99
#user haproxy
#group haproxy
daemon
nbproc 1
#cpu-map 1 0
#cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
pidfile /apps/haproxy/run/haproxy.pid
log 127.0.0.1 local2 info
defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri /haproxy-status
stats auth haadmin:123456
listen web_port
bind 0.0.0.0:80
mode http
log global
server web1 127.0.0.1:8080 check inter 3000 fall 2 rise 5
准备HAProxy启动文件
[root@master-a ~]# vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /apps/haproxy/run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
启动 haproxy
`#准备socket文件目录`
[root@master-a haproxy-2.1.12]# mkdir /apps/haproxy/run
[root@master-a ~]# systemctl start haproxy.service
[root@master-a ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:9999 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
文章评论