HAProxy是一款专业提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。
实验环境:一台CentOS7虚拟机作为Haproxy作为调度器,IP地址为192.168.100.120
一台CentOS7虚拟机作为第一台Nginx服务器,IP地址为192.168.100.100
一台CentOS7虚拟机作为第二台Nginx服务器,IP地址为192.168.100.110
一台win7作为客户机进行访问,地址为192.168.100.5
nginx软件包链接: 密码:cd2k
haproxy软件包链接:https://pan.baidu.com/s/1eG-CrWVLxLKTj7XMSUXzSA 密码:u656
一、搭建一台Nginx服务器
安装Nginx所需要的环境包
将Nginx安装包解压到/opt目录下
在Nginx目录下建立一个管理用户名为nginx
将安装路径,管理用户和管理组添加到所要下载的模块中
编译文件并执行安装
在/usr/local/sbin目录下建立软链接方便管理
在这台Nginx服务器上建立一个测试首页
开启nginx服务
关闭防火墙,便于客户机进行访问
在本地进行自测,首页可以访问的到,到这第一台Nginx配置完成
二、手工编译第二台Nginx服务器,过程和第一台一模一样,这里就不在演示
这里唯一不同的地方就是网站首页内容,是为了方便进行测试
三、配置Haproxy调度器
安装Haproxy所需要的环境包
将Haproxy安装包解压到/opt目录下
在/opt/haproxy/目录下对文件编译和安装
在etc目录下建一个存放主配置文件的目录,接着将配置文件复制一份到这个目录下
在配置文件下,注释掉chroot/usr/share/haproxy 和 redispatch两条语句,接着删除所有的listen模块,在最后加上自己规定的listen模块,在这个模块中指定自己的节点服务器
这里为了便于管理,可以将启动脚本添加到系统的init.d目录下并且赋予其执行权限,接着为了可以让系统可以管理这个服务可以添加到chkconfig中
开启服务并且关闭防火墙
最后用客户机访问这台调度器,可以看到我可以访问到两台节点服务器
Haproxy日志
Haproxy的日志默认输出到系统的syslog中,查看起来不是很方便,为了更好地管理Haproxy的日志,在生产环境中一般单独定义出来
到主配置文件中进行更改,主要是将Haproxy的info及notice日志分别记录到不同的日志文件中
重启服务是文件生效
为了便于管理,将Haproxy相关配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件
在文件中加入以上内容,这里表示的是将Haproxy的info日志记录到/var/log/haproxy/haproxy-info.log下,将notice日志文件记录到/var/log/haproxy/haroxy-notice.log下,配置完成后保存退出
重启rsyslog服务
使用客户机进行访问后便会生成这个日志文件,如果不先访问这台服务器是不会生成这个文件的