haproxy 配置文件分析
LOG 功能:
编辑/etc/rsyslog.conf 配置文件:
# Provides UDP syslog reception
$ModLoad imudp #需要启用
$UDPServerRun 514 #启动syslog 服务 # Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun # Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler # Save boot messages also to boot.log
local7.* /var/log/boot.log local2.* /var/log/haproxy/haproxy.log #指定 log 输出位置
配置案例一:
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#--------------------------------------------------------------------- #---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global #全局配置 ,进程和系统相关
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# ) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# ) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2 #日志设定,需要在/etc/rsyslog.conf 配置文件中进行设定。 chroot /var/lib/haproxy #修改haproxy 工作目录
pidfile /var/run/haproxy.pid
maxconn #允许最大连接
user haproxy
group haproxy
daemon #以守护进程方式进行运行,否则在前台进行工作 # turn on stats unix socket
stats socket /var/lib/haproxy/stats #stats 工作目录 #---------------------------------------------------------------------
#Proxies 配置段,代理的配置在这
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults #Proxies 的默认配置
mode http #默认代理模式
log global #全局的syslog 服务器,可以定义多个
option httplog #日志格式
option dontlognull
option http-server-close #代理主动断开超时连接
option forwardfor except 127.0.0.0/ #代理默认向后端插入 X-Forwarded-For ,mode 必须 http
option redispatch
retries
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn #---------------------------------------------------------------------
#stats 配置实例
#---------------------------------------------------------------------
listen stats_test #配置stats 监听实例
bind *:1080 #绑定监听端口 1080
stats enable #启动stats 功能
stats hide-version #隐藏 haproxy 版本
#stats scope . #指定管理范围
stats uri /haproxyadmin?stats #指定访问路径
stats realm "HAproxy\ Statistics" #指定名称
stats auth zy:zzzzy #指定认证用户名,密码
stats admin if TRUE #启用管理功能
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend http_porxy #前端虚拟负载配置项,定义名称main ,或者别的
bind : #配置监听端口,有多种写法
bind : ssl crt /etc/haproxy/site.pem #监听端口绑定证书 acl url_static path_beg -i /static /images /javascript /stylesheets #acl 规则编辑,acl <aclname> <criterion> [flags] [operator] <value> ...
acl url_static path_end -i .jpg .gif .png .css .js #先定义规则然后在 use_backend 进行引用 use_backend static if url_static #匹配规则,匹配的规则调用值 static 节点池
default_backend app #默认节点池 #---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static #定义static 节点池
# mode tcp
mode http #指定负载模式
# blance static-rr 动态轮询负载
# blance leastconn 最小连接负载
# blance souce 基于源地址 hash 的负载
# blance hdr(Host) 基于访问请求中的Host 的负载
#
balance roundrobin
cookie SERVERID insert nocache indirect #插入 SERVERID cookie name ,并在后续用户访问时,利用cookie 维持会话
server web1 192.68.100.101: check inter rise fall weight maxconn cookie webserver01 #指定server 状态监测,权重,最大连接和cookie 值
server web2 192.68.100.103: check inter rise fall weight maxconn cookie webserver02 #---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
balance roundrobin
server app1 127.0.0.1: check
server app2 127.0.0.1: check
server app3 127.0.0.1: check
server app4 127.0.0.1: check
配置案例二:
#通过ACL 进行动静分离的配置 global
log 127.0.0.1 local2 chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn
user haproxy
group haproxy
daemon # turn on stats unix socket
stats socket /var/lib/haproxy/stats defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/
option redispatch
retries
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn listen stats
mode http
bind 0.0.0.0:
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
stats admin if TRUE frontend http-in
bind *:
mode http
log global
option httpclose
option logasap
option dontlognull
capture request header Host len
capture request header Referer len
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .jpeg .gif .png .css .js use_backend static_servers if url_static
default_backend dynamic_servers backend static_servers
balance roundrobin
server imgsrv1 172.16.200.7: check maxconn
server imgsrv2 172.16.200.8: check maxconn backend dynamic_servers
cookie srv insert nocache
balance roundrobin
server websrv1 172.16.200.7: check maxconn cookie websrv1
server websrv2 172.16.200.8: check maxconn cookie websrv2
server websrv3 172.16.200.9: check maxconn cookie websrv3
配置案例 MySQL服务的配置示例:
MySQL服务的配置示例 #---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# ) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# ) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2 chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn
user haproxy
group haproxy
daemon defaults
mode tcp
log global
option httplog
option dontlognull
retries
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn listen stats
mode http
bind 0.0.0.0:
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
stats admin if TRUE frontend mysql
bind *:
mode tcp
log global
default_backend mysqlservers backend mysqlservers
balance leastconn
server dbsrv1 192.168.10.11: check port intval rise fall maxconn
server dbsrv2 192.168.10.12: check port intval rise fall maxconn
haproxy 配置文件分析的更多相关文章
- haproxy配置文件详解和ACL功能
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 千万级高并发负载均衡软件haproxy配置文件详解
balance roundrobin #轮询方式 balance source #将用户IP经过hash计算后,使同一IP地址的所有请求都发送到同一固定的后 ...
- Python3.5 day3作业二:修改haproxy配置文件。
需求: 1.使python具体增删查的功能. haproxy的配置文件. global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 lo ...
- python之haproxy配置文件操作(第三天)
作业: 对haproxy配置文件进行操作 要求: 对haproxy配置文件中backend下的server实现增删改查的功能 一.这个程序有二个版本 1. python2.7版本见haproxy_py ...
- haproxy配置文件
haproxy配置文件 思路:读一行.写一行 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info de ...
- haproxy配置文件简单管理
版本:python3功能:对haproxy配置文件进行简单的查询.添加以及删除功能操作流程:1.根据提示选择相应的选项2.进入所选项后,根据提示写入相应的参数3.查询功能会返回查询结果,添加.删除以及 ...
- 作业-haproxy配置文件的增删查(有一个bug不知道咋改)
# yangqiao #查询 ''' f=open("C:\\aaaaaaaaaaaaa\\haproxy.txt", "r", encoding=" ...
- RobotFramework 官方demo Quick Start Guide rst配置文件分析
RobotFramework官方demo Quick Start Guide rst配置文件分析 by:授客 QQ:1033553122 博客:http://blog.sina.com.c ...
- s12-day03-work01 python修改haproxy配置文件(初级版本)
#!/usr/local/env python3 ''' Author:@南非波波 Blog:http://www.cnblogs.com/songqingbo/ E-mail:qingbo.song ...
随机推荐
- 小甲鱼零基础python课后题 P22 021函数:递归是神马
0.递归在编程上的形式是如何表现的呢? 答:在编程上,递归表现为函数调用本身这么一个行为. 1.递归必须满足哪两个基本条件? 答:1函数调用自己. 2有正确的返回条件 2.思考一下,按照递归的特性,在 ...
- bytes,bytearray
1.bytes.bytearray ---Python3 引入的! bytes:不可变字节序列,bytearray:字节属组,可变 都是连续的空间. 2.字符串与bytes 字符串是字符组成的有序的序 ...
- Facebook AI的工业级NLP开源框架—— Pytext
PyText是基于NLP深度学习技术.通过Pytorch构建的建模框架.PyText解决了既要实现快速实验又要部署大规模服务模型的经常相互冲突.并且,Facebook已经采用了使用PyText快速迭代 ...
- 腾讯云CDB回档失败浅析
Ⅰ.先看问题 先简单介绍下cdb的回档功能,回档分为极速.快速.普通,分别对应指定表.指定库.整个实例回档. 控制台报错回档任务执行失败 提示信息:rollback table failed:SQL ...
- jmeter常用插件介绍
一.下载安装及使用 下载地址:jmeter-plugins.org 安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmete ...
- npm 使用指南参考
[阮一峰npm scripts基本教程] [rimraf 跨平台删除文件] [ts-loader 安装问题] [nvm 安装使用] [npm镜像的问题] [webpack 如何引入jquery]web ...
- spring-data-redis2.0以上配置redis连接
1.所需的maven依赖 <dependency> <groupId>org.springframework.data</groupId> <artifact ...
- 关于 RESTful API 中 HTTP 状态码的定义
最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不 ...
- JS中使用base64编码上传下载文件
下载文件:使用FileSaver.js https://github.com/eligrey/FileSaver.js/blob/master/README.md 手机端UC浏览器无法下载 安卓 ...
- spring batch (一) 常见的基本的概念介绍
SpringBatch的基本概念介绍 内容来自<Spring Batch 批处理框架>,作者:刘相. 一.配置文件 在项目中使用spring batch 需要在配置文件中声明: 事务管理器 ...