05linux防护与群集第08章使用haproxy搭建web_第1页
05linux防护与群集第08章使用haproxy搭建web_第2页
05linux防护与群集第08章使用haproxy搭建web_第3页
05linux防护与群集第08章使用haproxy搭建web_第4页
05linux防护与群集第08章使用haproxy搭建web_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、理论讲解一:案例分析1:案例概述2:案例前置知识3:案例环境二:案例实施1:编译安装 nginx 服务器(两个 nginx的步骤完全一样,只有测试页面不同)rootlocalhost # yum -y install pcre-devel zlib-devel gcc*rootlocalhost # useradd -M -s /sbin/nologin nginxrootlocalhost # tar zxvf nginx-1.12.0.tar.gzrootlocalhost # cd nginx-1.12.0/rootlocalhost nginx-1.12.0# ./configure

2、-prefix=/usr/local/nginx -user=nginx -group=nginx-with-http_stub_sus_modulerootlocalhost nginx-1.12.0# make & make installrootlocalhost nginx-1.12.0# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/rootlocalhost nginx-1.12.0# cd /usr/local/nginx/html/rootlocalhost html# echo test web01 test.htmlro

3、otlocalhost # systemctl stop firewalldrootlocalhost # nginx -t#开启 nginx 进程rootlocalhost # nginxrootlocalhost # nets-anpt | grep nginx2:编译安装 Haproxyrootlocalhost # systemctl stop firewalldrootlocalhost # yum -y install pcre-devel bzip2-devel gcc*rootlocalhost # tar zxvf haproxy-1.5.19.tar.gzrootlocal

4、host # cd haproxy-1.5.19/rootlocalhosproxy-1.5.19# make=linux26rootlocalhosproxy-1.5.19# make install注释:linux22for Linux 2.2linux24for Linux 2.4 and above (default)linux24efor Linux 2.4 with support for a working epoll ( 0.21)linux26for Linux 2.6 and abovesolarisfor Solaris 8 or 10 (others untested)

5、freebsdfor FreeBSD 5 to 8.0 (others untested)openbsdfor OpenBSD 3.1 to 4.6 (others untested)cygwinfor Cygwingenericfor any other OS.customto manually adjust every setting3:Haproxy 服务器配置(1)建立 haproxy 配置文件rootlocalhosproxy-1.5.19# mkdir /etc/haproxyrootlocalhosproxy-1.5.19# cp exles/haproxy.cfg /etc/h

6、aproxy/(2)Haproxy 配置介绍rootlocalhosproxy-1.5.19# vi /etc/haproxy/haproxy.cfggloballog local0log local1 notice#log loghostlocal0 infomaxconn 4096uid 99gid 99daemon#debug#quietdefaultslogglobalmodehttpoptionhttplogoptiondontlognullretries 3# redispatchmaxconn 2000contimeout5000imeout50000srvtimeout5000

7、0listenwebcluster :80optionhttpchk GET /index.htmlbalance roundrobinserverinst1 1:80 checker 2000 fall 3serverinst2 2:80 checker 2000 fall 3可在每个服务器后加 weight 设置权重值serverinst1 1:80 checker 2000 fall 3 weight 1serverinst2 2:80 checker 2000 fall 3 weight 2各个语句的解释#debug调试模式,输出启动信息到标准输出daemon以守护进程的方式运行gid

8、 99用户 giduid 99用户 uidmaxconn 4096最大连接数#log loghostlocal0 infolog local1 notice日志级别为 noticelog local0配置日志,local0 为日志设备,默认是系统日志globaloptiondontlognull保证 HAProxy 不负载均衡发送过来的用于检测状态数据的心跳包定义群集和的端listenwebcluster :80心跳检测 URL 设置定义节点serverinst1 1:80 checker 2000 fall 3checker 2000 是检测心跳频率(每 2000ms 检测一次),fall

9、3 是 3 次失败认为服务器不可用在新版本中,超时的设置做了调整,具体如下contimeout 被 timeoonnect 取代:定义 haproxy 将客户端请求转发至后端服务器所等待的超时时长imeout 被 timeont 取代:客户端非活动状态的超时时长,是 app 连接 haproxy 的时间 srvtimeout 被 timeout server 取代:客户端与服务器端建立连接后,等待服务器端的超时时长,是haproxy 连接后端 web 服务器的时间.serverinst2 2:80 checker 2000 fall 3balance roundrobin负载均衡的调度算法为轮

10、询optionhttpchk GET /index.html检查服务器的 index.html 文件,srvtimeout50000服务器超时时间 msimeout50000客户端超时时间 mscontimeout5000连接超时时间 msmaxconn 2000最大连接数# redispatch当 serverId(会话)对应的服务器挂掉后,强制定向到其他健康的服务器retries 3检查节点连接失败的次数,超过 3 次认为节点不可用optionhttplog采用 http 的格式日志modehttp模式为 httplogglobal使用 globle 中定义的日志defaults#quie

11、t安静模式,启动时无输出注释:haproxy 共有八种调度算法1)balance leastconn最少连接数2)balance roundrobin轮询3)balanource根据客户端 IP 进行哈希的方式4)sic-rr根据权重5)uri根据请求的 URI6)url_param根据请求的 URl 参数7)hdr(name)根据 HTTP 请求头来锁定每一次 HTTP 请求(name)根据(name)来锁定并哈希每一次 TCP 请求8)rdp-chroot /usr/share/haproxy也就是改变程序执行时所参考的根目录位置,如果有此代码,需要创建此目录关于日志级别sic Level

12、 DEBUGDEBUG Level细粒度信息事件对调试应用程序是非常有帮助的。sic Level INFOINFO level 表明 消息在粗粒度级别上突出强调应用程序的运行过程。sic Level WARNWARN level 表明会出现潜在错误的情形。sic Level ERRORERROR level虽然发生错误事件,但仍然不影响系统的继续运行。sic Level FATALFATAL level每个严重的错误事件将会导致应用程序的退出。另外,还有两个可用的特别的日志级别: sic Level ALLALL Level 是最级的,用于打开所有日志。sic Level OFFOFF Lev

13、el 是最高等级的,用于关闭所有日志。4:创建自启动rootlocalhosproxy-1.5.19# cp exles/haproxy.init /etc/init.d/haproxyrootlocalhosproxy-1.5.19# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxyrootlocalhosproxy-1.5.19#od +x /etc/init.d/haproxyrootlocalhosproxy-1.5.19# /etc/init.d/haproxy start5:测试 web 群集刷新页面进试或使用测试rootlocalho

14、st # for i in $(seq 10); do curl;done6:Haproxy 的日志haproxy 在默认情况不会配置系统日志的配置文件。日志,除了在 haproxy.conf 中的 global 段指定日志的输出外,还需要方法一:rootlocalhosproxy-1.4.24# vi /etc/haproxy/haproxy.cfgglobal#log local0#log local1 notice#log loghostlocal0 infomaxconn 4096chroot /usr/share/haproxyuid 99gid 99daemon#debug#qui

15、etlog /dev/log local0 infolog /dev/log local0 noticerootlocalhosproxy-1.4.24# touch /etc/rsyslog.d/haproxy.confrootlocalhosproxy-1.4.24# vi /etc/rsyslog.d/haproxy.confif($programname=haproxyand$syslogseverity-text=info)then-/var/log/haproxy/haproxy-info.log& if($programname=haproxyand$syslogseverity

16、-text=notice)then-/var/log/haproxy/haproxy-notice.log& rootlocalhosproxy-1.4.24# service rsyslog restartrootlocalhost #/etc/init.d/haproxy restartrootlocalhost # cat /var/log/haproxy/haproxy-info.log方法二:(1)编辑/etc/haproxy/haproxy.confrootlocalhost # vi /etc/haproxy/haproxy.cfggloballog local3#local3

17、是设备,对应于 /etc/rsyslog.conf 中的配置,默认回收 info 的日志级别(2)编写 haproxy 日志文件rootlocalhost # vim/etc/rsyslog.d/haproxy.conf$ModLoad imudp$UDPServerRun 514local3.*/var/log/haproxy.log&注释:日志的协议 UDP$ModLoad imudp$UDPServerRun 514指定日志使用的端/var/log/haproxy.log指定日志存放位置local3.*(3)配置 rsyslog 的主配置文件,开启日志(可以不配)rootlocalhost

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论