1.yum安装
[root@node03 ~]# yum install haproxy
[root@node03 ~]# vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
EnvironmentFile=/etc/sysconfig/haproxy
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
[Install]
WantedBy=multi-user.target
[root@node03 ~]# systemctl start haproxy
[root@node03 ~]# ss -nltu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:58537 *:*
tcp LISTEN 0 128 *:5000 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
[root@node03 ~]# ps -ef |grep haproxy
root 7032 6821 0 02:54 pts/0 00:00:00 vim /usr/lib/systemd/system/haproxy.service
root 7068 7051 0 03:04 pts/1 00:00:00 vim /etc/haproxy/haproxy.cfg
root 7092 1 0 03:04 ? 00:00:00 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
haproxy 7093 7092 0 03:04 ? 00:00:00 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
haproxy 7094 7093 0 03:04 ? 00:00:00 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
root 7112 7069 0 03:04 pts/2 00:00:00 grep --color=auto haproxy
2.编译安装
[root@node04 ~]# cd /usr/local/src/
[root@node04 src]# ll
-rw-r--r--. 1 root root 2083917 Nov 12 2019 haproxy-1.8.20.tar.gz
[root@node04 src]# tar xvf haproxy-1.8.20.tar.gz
[root@node04 src]# cd haproxy-1.8.20
[root@node04 src]# yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate -y
[root@node04 src]# 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
[root@node04 src]# make install PREFIX=/usr/local/haproxy
[root@node04 haproxy]# vim haproxy.cfg
global
maxconn 100000
chroot /usr/local/haproxy
#stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
nbproc 2
cpu-map 1 0
cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local3 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:q1w2e3r4ys
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
[root@node04 haproxy-1.8.20]# ./haproxy -v
[root@node04 haproxy-1.8.20]# ./haproxy -H
[root@node04 haproxy-1.8.20]# ./haproxy -vv
[root@node04 haproxy-1.8.20]# ./haproxy -h
[root@node04 haproxy-1.8.20]# 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 /run/haproxy.pid
这个地方的/run/haproxy.pid路径一定要和配置文件haproxy.cfg中的一致,因为reload时候会给pid发送信号,这样reload才可以成功
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
[root@node04 haproxy]# systemctl start haproxy
[root@node04 haproxy]# ss -ntlu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:45507 *:*
tcp LISTEN 0 128 *:9999 *:*
tcp LISTEN 0 128 *:80 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
[root@node04 haproxy]# ps -ef|grep haproxy
root 7616 1 0 03:08 ? 00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
nobody 7619 7616 0 03:08 ? 00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
nobody 7620 7616 0 03:08 ? 00:00:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
root 7632 7580 0 03:09 pts/2 00:00:00 grep --color=auto haproxy
网友评论