设为首页 收藏本站
查看: 801|回复: 0

[经验分享] Haproxy实现大并发web高可用群集部署

[复制链接]

尚未签到

发表于 2019-1-1 14:04:43 | 显示全部楼层 |阅读模式
                                      Haproxy web群集部署
  HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理,HAProxy实现了一种 单一进程模型,此模型支持非常大的并发连接数多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。                             
  部署环境:
  主机
  IP地址
  主机名
  软件
  操作系统
  Haproxy服务器
  192.168.1.10
  Haproxy
  Haproxy-1.4.24
  Centos-6.5
  Nginx1服务器
  192.168.1.20
  Nginx1
  Nginx-1.6.2
  Centos-6.5
  Nginx2服务器
  192.168.1.30
  Nginx2
  Nginx-1.6.2
  Centos-6.5
  客户机
  192.168.1.40
  Khj
  IE浏览器
  Centos-6.5

  编译安装测试nginx
  修改ip地址 移走yum仓库,在下面搭建新的本地yum仓库 创建nginx软件包存放文件

  挂载nginx光盘 cp/nginx

  搭建本地yum仓库

  yum文件nginx.repo内容:

  进入/nginx目录tar nginx软件包 创建nginx用户名,

  编译安装nginx

  建立测试nginx页面,启动nginx服务,查看nginx端口是否启动

  设置iptables防火墙策略,允许80号端口通过

  注:配置nginx1服务器跟上面nginx2配置一样,按照上面步骤执行就可以
  使用客户机访问nginx两台服务器


  编译安装haproxy
  搭建本地yum仓库安装haproxy依赖包


  tar haproxy软件包,编译安装

  TARGET=linux26代表64位操作系统
  建立haproxy配置文件

  配置haproxy服务器文件  配置文件主要分为global全局配置、defaults默认配置、listen应用组件配置
  配置haproxy文件、创建自启动脚本、设置软连接

  haproxy.cfg配置文件内容如下:
  global
          log 127.0.0.1   local0  配置日志记录,local0为日志设备,默认存放在系统日志中
          log 127.0.0.1   local1 notice  notice为日志级别,通常为24个级别
          #log loghost    local0 info   
          maxconn 4096              最大连接数
          #chroot /usr/share/haproxy   
          uid 99                     用户uid
          gid 99                     用户uid
          daemon
          #debug
          #quiet
  
  defaults
          log     global            定义日志为globel配置中的日志定义
          mode    http            模式为http
          option  httplog           采用http日志格式记录日志
          option  dontlognull      
          retries 3            检查节点失败次数,连续达到三次失败,会认为节点不可用
          maxconn 2000       最大连接数
          contimeout      5000   连接超时时间
          clitimeout      50000   客户端超时时间
         srvtimeout      50000   服务器超时时间
         option httpclose
  listen  webcluster 0.0.0.0:80    定义一个webcluster应用
          option httpchk GET /index.html  检查服务器的index.html
          balance roundrobin            负载均衡调度算法使用轮询算法
          server inst1 192.168.1.20:80 check inter 2000 fall 3   定义的在线节点
          server inst2 192.168.1.30:80 check inter 2000 fall 3   如果在后面加bachak就成为备份节点
  启动haproxy服务,关闭防火墙或配置策略

  在客户机上测试web群集是否实现高性能,高可用(把nginx1宕掉)


  配置haproxy日志
  Haproxy的日志默认是保存到系统的syslog中,查看起来不方便,所以我们在生产环境中可以将日志单独存储到不同的文件中,配置如下
  首先修改配置文件,主要改下面的部分

  然后修改rsyslog配置,将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d下,rsyslog启动时会自动加载此目录下所有的配置文件

  配置内容如下:
  if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
  $ ~
  if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
  $ ~
  重启rsyslog服务,并且查看haproxy访问信息

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658323-1-1.html 上篇帖子: docker+splunk+haproxy实践 下篇帖子: Xtradb+Haproxy高可用数据库集群(四)集群zabbix监控篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表