zoukankan      html  css  js  c++  java
  • haproxy配置文件

    haproxy配置文件

     

    思路:读一行、写一行

    复制代码
    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 + " ")
                            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 + ' ')
                    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 + ' ')
                new.write(' '*8 + record + ' ')
     
     
    # 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")
  • 相关阅读:
    数据库字段包含反斜杠的查询处理
    sql中的日期时间处理
    查询时间的测试
    group by 和 聚合函数的使用
    比较版本号
    sql IIF函数的应用
    win10系统杀毒功能
    php性能的问题
    linux 下ab压力测试
    datatables的学习总结
  • 原文地址:https://www.cnblogs.com/cp-miao/p/5617890.html
Copyright © 2011-2022 走看看