hhnf333 发表于 2019-1-2 08:02:59

使用Haproxy搭建Web群集(内含源码包)

  HAProxy是一款专业提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。

  

  http://s1.运维网.com/images/20180822/1534940495991996.jpg
  

  实验环境:一台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软件包链接:https://pan.baidu.com/s/13ZjTuWPassNW2zKPXYuODA    密码:cd2k
         haproxy软件包链接:https://pan.baidu.com/s/1eG-CrWVLxLKTj7XMSUXzSA         密码:u656

  一、搭建一台Nginx服务器
  http://s1.运维网.com/images/20180822/1534940800968697.jpg
  安装Nginx所需要的环境包
  

  http://s1.运维网.com/images/20180822/1534940836664266.jpg
  将Nginx安装包解压到/opt目录下
  

  http://s1.运维网.com/images/20180822/1534940895812836.jpg
  在Nginx目录下建立一个管理用户名为nginx
  

  http://s1.运维网.com/images/20180822/1534940969942534.jpg
  将安装路径,管理用户和管理组添加到所要下载的模块中
  

  http://s1.运维网.com/images/20180822/1534941038761735.jpg
  编译文件并执行安装
  

  http://s1.运维网.com/images/20180822/1534941224673562.jpg
  在/usr/local/sbin目录下建立软链接方便管理
  

  http://s1.运维网.com/images/20180822/1534941289731605.jpg
  在这台Nginx服务器上建立一个测试首页
  

  http://s1.运维网.com/images/20180822/1534941338237307.jpg
  开启nginx服务
  

  http://s1.运维网.com/images/20180822/1534941415460372.jpg
  关闭防火墙,便于客户机进行访问
  

  http://s1.运维网.com/images/20180822/1534941457336875.jpg
  在本地进行自测,首页可以访问的到,到这第一台Nginx配置完成
  

  二、手工编译第二台Nginx服务器,过程和第一台一模一样,这里就不在演示
  http://s1.运维网.com/images/20180822/1534941574714100.jpg
  这里唯一不同的地方就是网站首页内容,是为了方便进行测试
  

  三、配置Haproxy调度器
  http://s1.运维网.com/images/20180822/1534941664509476.jpg
  安装Haproxy所需要的环境包
  

  http://s1.运维网.com/images/20180822/1534941724587299.jpg
  将Haproxy安装包解压到/opt目录下
  

  http://s1.运维网.com/images/20180822/1534941769225645.jpg
  http://s1.运维网.com/images/20180822/1534941922657918.jpg
  在/opt/haproxy/目录下对文件编译和安装
  

  http://s1.运维网.com/images/20180822/1534942008598455.jpg
  在etc目录下建一个存放主配置文件的目录,接着将配置文件复制一份到这个目录下
  http://s1.运维网.com/images/20180822/1534942132205707.jpg

  http://s1.运维网.com/images/20180822/1534942140891478.jpg
  在配置文件下,注释掉chroot/usr/share/haproxy 和 redispatch两条语句,接着删除所有的listen模块,在最后加上自己规定的listen模块,在这个模块中指定自己的节点服务器
  

  http://s1.运维网.com/images/20180822/1534942368850933.jpg
  这里为了便于管理,可以将启动脚本添加到系统的init.d目录下并且赋予其执行权限,接着为了可以让系统可以管理这个服务可以添加到chkconfig中
  

  http://s1.运维网.com/images/20180822/1534942609207638.jpg
  http://s1.运维网.com/images/20180822/1534942628806217.jpg
  

  

  开启服务并且关闭防火墙
  

  http://s1.运维网.com/images/20180822/1534942659891310.jpg
  http://s1.运维网.com/images/20180822/1534942666282143.jpg
  最后用客户机访问这台调度器,可以看到我可以访问到两台节点服务器
  

  

  

  Haproxy日志
  Haproxy的日志默认输出到系统的syslog中,查看起来不是很方便,为了更好地管理Haproxy的日志,在生产环境中一般单独定义出来
  http://s1.运维网.com/images/20180822/1534943199963572.jpg
  http://s1.运维网.com/images/20180822/1534943209433158.jpg
  到主配置文件中进行更改,主要是将Haproxy的info及notice日志分别记录到不同的日志文件中
  

  http://s1.运维网.com/images/20180822/1534943429476550.jpg
  重启服务是文件生效
  

  http://s1.运维网.com/images/20180822/1534943460964633.jpg
  为了便于管理,将Haproxy相关配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件
  

  http://s1.运维网.com/images/20180822/1534943744145991.jpg
  在文件中加入以上内容,这里表示的是将Haproxy的info日志记录到/var/log/haproxy/haproxy-info.log下,将notice日志文件记录到/var/log/haproxy/haroxy-notice.log下,配置完成后保存退出
  

  http://s1.运维网.com/images/20180822/1534944046553070.jpg
  

  重启rsyslog服务

  

  http://s1.运维网.com/images/20180822/1534944090826158.jpg
  使用客户机进行访问后便会生成这个日志文件,如果不先访问这台服务器是不会生成这个文件的
  




页: [1]
查看完整版本: 使用Haproxy搭建Web群集(内含源码包)