标签:stop 重启 实现 hash 有关 example trie bin 检查
关于负载均衡群集,在本文之前已经发表有关负载均衡群集的文章,如:Nginx+Tomcat负载均衡群集、LVS-NAT模式的负载均衡群集、LVS-DR+Keepalive高可用群集;常用负载均衡调度算法:
服务器 | 系统环境 | IP地址 | 所需软件 |
---|---|---|---|
haproxy服务器 | centos7.3 | 192.168.100.101 | haproxy |
节点web1 | centos7.3 | 192.168.100.201 | Nginx |
节点web2 | centos7.3 | 192.168.100.202 | Nginx |
这里服务器都是托管在IDC机房中,若是公网访问需要利用防火墙NAT规则制作映射访问内网服务器IP。
yum install pcre pcre-devel bzip2-devel gcc gcc-c++ make -y //安装编译所需环境包
tar zxvf haproxy-1.5.19.tar.gz -C /opt/ //解压haproxy软件包
cd /opt/haproxy-1.5.19/
make TARGET=linux26 //编译64位版本
make install //编译安装,默认路径为/etc下
mkdir /etc/haproxy //创建haproxy工作目录
cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/ //创建haproxy的配置文件
cd /etc/haproxy/
vim haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
# chroot /usr/share/haproxy //当前工作路径,因为直接make install默认在/etc/haproxy,故此行无需存在
uid 99
gid 99
daemon
#debug
#quiet
defaults
log global
mode http
option httplog
option dontlognull
retries 3
#redispatch //注释掉;调度服务器强会重复发送请求给节点服务器
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webcluster 0.0.0.0:80 //定义haproxy监听页面
option httpchk GET /test.html //调度网页形式
balance roundrobin //采用轮询调度算法
server inst1 192.168.100.201:80 check inter 2000 fall 3
server inst2 192.168.100.202:80 check inter 2000 fall 3
(···删除其他listen区域)
cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy 复制服务启动脚本
chmod +x haproxy 增加执行权限
chkconfig --add /etc/init.d/haproxy 加入服务启动项
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy 加入系统命令队列,可以不添加,因为都在环境变量
service haproxy start
tar zxvf nginx-1.12 -C /opt
cd /opt/nginx-1.12
useradd -M -s /sbin/nologin nginx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx
编译安装
make && make install
此处创建首页格式为test.html,因为在haproxy配置文件中有注明调度网页形式。为区分调度节点服务器,测试首页需要不同。
cd /usr/local/nginx/html
echo "this is first test web" > test.html
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
systemctl stop firewalld.service
setenforce 0
nginx -t 检查配置文件
nginx 启动服务
对于节点服务器二,配置方式同节点服务器一,仅需要在测试页面区分。
由于haproxy调度软件的日志文件默认输出到和系统日志syslog中,而在生产环境中,这样的结果容易导致日志混乱且不便管理查询,因此需要将haproxy日志文件单独定义出来。
vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0 info //调度日志为info类型及存放位置
log /dev/log local0 notice //调度日志为notice类型及存放位置
touch /etc/rsyslog.d/haproxy.conf
vim haproxy.conf
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘info‘)
then -/var/log/haproxy/haproxy-info.log //定义新的haproxy日志文件位置
&~
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘notice‘)
then -/var/log/haproxy/haproxy-notice.log
&~
重启服务
service haproxy start
systemctl restart rsyslog.service
标签:stop 重启 实现 hash 有关 example trie bin 检查
原文地址:http://blog.51cto.com/13659253/2133545