码迷,mamicode.com
首页 > 其他好文 > 详细

haproxy配置文件

时间:2016-06-26 15:15:56      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

思路:读一行、写一行

技术分享
技术分享
global
        log 127.0.0.1 local2
        daemon
        maxconn 256
        log 127.0.0.1 local2 info
defaults
        log global
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms
        option  dontlognull

listen stats :8888
        stats enable
        stats uri       /admin
        stats auth      admin:1234

frontend oldboy.org
        bind 0.0.0.0:80
        option httplog
        option httpclose
        option  forwardfor
        log global
        acl www hdr_reg(host) -i www.oldboy.org
        use_backend www.oldboy.org if www

backend www.oldboy.org
        server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
        
backend buy.oldboy.org
        server 100.1.7.90 100.1.7.90 weight 20 maxconn 3000
技术分享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
 
def fetch(backend):
    result = []
    with open(‘ha.conf‘, ‘r‘) as f:
        flag = False
        for line in f:
            if line.strip().startswith(‘backend‘) and line.strip() == "backend " + backend:
                flag = True
                continue
            if flag and line.strip().startswith(‘backend‘):
                break
            if flag and line.strip():
                result.append(line.strip())
 
    return result
 
 
def add(backend, record):
    result = fetch(backend)
    if not result:
        # 无backend,无record
        pass
    else:
        # 有backend
        if record in result:
            # 记录record
            pass
        else:
            result.append(record)
            with open(‘ha.conf‘, ‘r‘) as old, open(‘new.conf‘, ‘w‘) as new:
                continue_flag = False
                for line in old:
 
                    if line.strip().startswith(‘backend‘) and line.strip() == "backend " + backend:
                        continue_flag = True
                        new.write(line)
                        for temp in result:
                            new.write(" "*8 + temp + "\n")
                        continue
 
                    if continue_flag and line.strip().startswith(‘backend‘):
                        continue_flag = False
 
                    if continue_flag:
                        pass
                    else:
                        new.write(line)
 
 
def add2(backend, record):
    with open(‘ha.conf‘, ‘r‘) as old, open(‘new.conf‘, ‘w‘) as new:
        in_backend = False
        has_backend = False
        has_record = False
        for line in old:
            if line.strip().startswith(‘backend‘) and line.strip() == "backend " + backend:
                has_backend = True
                in_backend = True
                new.write(line)
                continue
 
            if in_backend and line.strip().startswith(‘backend‘):
                if not has_record:
                    new.write(" "*8 + record + ‘\n‘)
                new.write(line)
                in_backend = False
                continue
 
            if in_backend and line.strip() == record:
                has_record = True
                new.write(line)
                continue
 
            if line.strip():
                new.write(line)
 
        if not has_backend:
            # 写backend,写record
            new.write(‘backend ‘+ backend + ‘\n‘)
            new.write(‘ ‘*8 + record + ‘\n‘)
 
 
# ret = fetch("www.oldboy.org")
# print(ret)
 
# add(‘www.oldboy.org‘, "server 100.1.7.10 100.1.7.10 weight 20 maxconn 3000")
# add2(‘www.oldboy.org‘, "server 100.1.7.11 100.1.7.11 weight 20 maxconn 3000")

haproxy配置文件

标签:

原文地址:http://www.cnblogs.com/cp-miao/p/5617890.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!