项目详解4—haproxy 详解 (2)

⑦ 拥有功能强大的后端服务器的状态监控web页面,可以实时了解设备的运行状态,还可实现设备上下线等简单操作。例:cobbler、samba、httpd

⑧ 支持多种负载均衡调度算法,并且也支持session保持

 

4、Haproxy安装方式

(1)Haproxy安装常用两种方式,yum安装和源码包安装

(2)yum 安装:通常是在线安装,好处是安装方式简单,不易出错;常用的安装yum源为epel

(3)源码包安装:是先将 Haproxy 的源码下载下来,在自己的系统里编译生成可执行文件,然后执行,好处是因为是在自己的系统上编译的,更符合自己系统的性能,也就是说在自己的系统上执行 Haproxy服务性能效率更好。

(4)区别:路径和启动方式不同,支持的模块也不同

 

5、Haproxy程序路径

主程序:/usr/sbin/haproxy

主配置文件:/etc/haproxy/haproxy.cfg

Unit file:/usr/lib/systemd/system/haproxy.service(centos7)

Init.file :/etc/init.d/haproxy (centos6)

 

三、Haproxy配置文件结构 1、格式介绍

haproxy 的配置文件由两大部分组成:

  全局设定(globalsettings)对代理的设定(proxies)

(1)global settings:主要用于定义haproxy进程管理安全及性能相关的参数

 

(2)proxies共分为4段:defaults,frontend,backend,listen

defaults <name>:为其它配置段提供默认参数,下面的段可以继承默认参数;默认配置参数可由下一个"defaults"重新设定

frontend <name>:定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接可以监听多个端口,例:监听80和3306端口,80请求给后端的web服务器,3306请求给后端的数据库服务器

backend <name>:定义"后端"服务器,前端代理服务器将会把客户端的请求调度至这些服务器

listen <name>:定义监听的套接字和后端的服务器。类似于将frontend和backend段放在一起,适用于一对一环境

 

(3)注意

① 后端的real server可以属于多个backend组,一个backend可以包括一个或多个real server

② frontend 可以交叉调用backend

项目详解4—haproxy 详解

 

2、 global 全局配置参数

(1)和进程安全相关的设置

nbproc <number> 要启动的haproxy 的进程数量,系统默认单进程,要求使用daemon 模式;和linux的cpu数相关,lscpu可以查看cpu数

② ulimit-n <number> 每个haproxy 进程可打开的最大文件数系统自动会指定,不建议设置

daemon 后端守护方式运行,建议使用

④ user 执行进程的用户

⑤ group 执行进程的组

 

(2)log 日志的设置

a)日志存放在haproxy的本机上

① vim /etc/rsyslog.conf 在日志服务的配置文件中自定义一条存放haproxy 日志的设置

local2.*   /var/log/haproxy.log

service rsyslog restart 重启日志服务

② 在haproxy的全局段设置日志

log    127.0.0.1 local2 日志存放在本机

 

b)日志存放在远程的机器上

① vim /etc/rsyslog.conf

$ModLoad imudp   远方存放日志的模块打开

$UDPServerRun 514   打开的监听端口

local2.*   /var/log/haproxy.log

② 在haproxy的全局段设置日志

log    172.17.22.22 local2 日志存放在远程服务器上

 

c)将特定信息记录在日志中,略

① 捕获的请求和响应报文中的 cookie 并记录日志

capture cookie <name> len <length>

② 捕获请求报文中指定的首部并记录日志

capture request header <name> len <length>

  示例:capture request header X-Forwarded-For len 15

③ 捕获响应报文 中指定的首部并记录 日志

capture response header <name> len <length>

  示例:

  capture response header Content-length len 9

  capture response header Location len 15

 

(3)性能调整,优化

① maxconn <number>: 设置每个haproxy 进程所能接受的最大并发连接数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydpxx.html