高性能代理服务器Haproxy

高性能代理服务器Haproxy

cd /usr/local
wget https://fossies.org/linux/misc/haproxy-1.7.0.tar.gz
tar -xvf haproxy-1.7.0.tar.gz
cd haproxy-1.7.0
make TARGET=linux2628 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
cd /usr/local/haproxy
vim haproxy.cfg

http代理配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#####全局配置######
global
daemon
nbproc 1
pidfile /usr/local/haproxy/haproxy.pid

#####默认配置#####
defaults
mode http #默认的模式model{tcp|http|health}, tcp是4层, http是7层, health只会返回OK
retries 2 #两次链接失败就认为是服务器不可用,也可以通过后卖弄设置
option redispatch #当serverId对赢的服务器宕机后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 4096 #默认的最链接数
timeout connect 5000ms #链接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000 #心跳检测超时
#log 127.0.0.1 local0 err
maxconn 10
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm XingCloud\ Haproxy #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
stats hide-version #隐藏统计页面上HAProxy的版本信息

#####test#####
listen test
bind 0.0.0.0:8080 #注意端口号不低于1024
mode http
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 localhost:8080
server s2 localhost:8081

vim /etc/profile

1
2
3
#haproxy
HAPROXY_HOME=/usr/local/haproxy
export PATH=#HAPROXY_HOME/sbin:$PATH

启动haproxy: /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
查看haproxy进程

1
2
3
root@bls:/usr/local/haproxy# ps -ef | grep haproxy
root 4506 1855 0 17:23 ? 00:00:00 ./sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
root 4923 14152 0 17:33 pts/19 00:00:00 grep --color=auto haproxy

tcp代理配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#####全局配置######
global
daemon
nbproc 1
pidfile /usr/local/haproxy/haproxy.pid

#####默认配置#####
defaults
mode http #默认的模式model{tcp|http|health}, tcp是4层, http是7层, health只会返回OK
retries 2 #两次链接失败就认为是服务器不可用,也可以通过后卖弄设置
option redispatch #当serverId对赢的服务器宕机后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 4096 #默认的最链接数
timeout connect 5000ms #链接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000 #心跳检测超时
#log 127.0.0.1 local0 err
maxconn 10
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm XingCloud\ Haproxy #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
stats hide-version #隐藏统计页面上HAProxy的版本信息

#####tcp#####
listen 8099
bind 0.0.0.0:8099
mode tcp
option tcplog
tcp-request inspect-delay 5s
option tcpka
server tcp-8099 localhost:11111