1.说明:该脚本仅适用于Linux操作系统2.使用方法: 在该脚本同级目录下要创建一个名字叫做 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.1 100.1.7.9 weight 20 maxconn 3000
server 100.1.7.2 100.1.7.9 weight 20 maxconn 3000
server 100.1.7.3 100.1.7.9 weight 20 maxconn 3000

3. haproxy平台管理脚本内容如下

 # -*- coding:utf-8 -*-
import os,sys,time
file1 = "haproxy"
file2 = "haproxy"
list1=[]
list= []
list2=[]
list3 = []
list4 = []
print "\033[32;1m****************欢迎来到haproxy管理平台******************\033[0m"
while True: inputs = raw_input("\033[32;1m按a查询节点: 按b添加节点: 按c删除节点: 按q退出:\033[0m ")
if inputs =="a":
while True:
inputs1 = raw_input("\033[32;1m请输入要查询的backend名称: 按b返回上一级: 按q退出\033[0m")
if inputs1 =="b":
break
elif inputs1 =="q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
elif inputs1 =="www.oldboy.org":
f = open("haproxy")
ha_list = []
for i in f:
ha_list.append(i.strip())
b = int(ha_list.index("backend www.oldboy.org"))+1 while True:
title = "\033[32;1m服务器节点列表\033[0m"
print title.center(60, "*")
for i in ha_list[b:]:
print i
print "\033[32;1mend\033[0m".center(50,"*")
choice = raw_input("按b返回上一级: 按q退出程序:")
if choice =="b":
break
elif choice =="q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
else:
print "\033[31;1m输入错误,没有该节点,请重新输入节点名称:\033[0m"
elif inputs =="b":
data = raw_input("请输入要增加的节点:").strip()
c = eval(data)
a = c["record"]
#print a
for key in a:
#print key , a.get(key)
list.append(key)
list2.append(a.get(key))
#print list
#print list2
list.insert(2, list2[2])
list.insert(1, str(list2[1]))
list.insert(0, str(list2[0]))
list.reverse()
#print list strss = ' '.join(list)
strs = strss+"\n" print "************\033[32;1m新增加的节点信息如下\033[0m*************"
print strs
print "******************** end *************************"
v = open(file1)
f = open("test","a+")
for line in v:
f.write(line)
v.close()
f.write(strs)
f.close()
os.remove("haproxy")
os.rename("test",file2)
list = []
list2= []
elif inputs == "q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
elif inputs == "c":
print ""
z = open("haproxy")
for l in z:
list4.append(l.strip())
c = int(list4.index("backend www.oldboy.org")) + 1
t = 0
for p in list4[28:]:
t = t+1
print str(t) ,p
delete = raw_input("请输入要删除的节点编号:")
if delete =="":
f4 = open("haproxy","r")
f5 = open("test2","a+")
for i in f4:
if list4[28] in i:
continue
f5.write(i)
#print i
f4.close()
f5.close()
print "********成功移除该节点********"
os.remove("haproxy")
os.rename("test2", file2)
list4 = []

开发haproxy管理平台的更多相关文章

  1. ServiceStage-华为微服务开发与管理平台

    前言 在上一篇文章一年前,我来到国企搞IT 中,和小伙伴分享了我在国企这一年当中的所见,所闻,所想,很高兴能够获得很多同道中人的共鸣.过去一年,我的很大一部分工作都投入到公司技术平台的建设中.Jira ...

  2. 基于Vue全家桶开发的前端组件管理平台

    项目背景 项目背景是外包类建站公司里,设计环节沉淀了大量可复用组件,设计师往往只需要微调组件就拼凑出页面,交付给前端,理论上这些组件在前端也可以复用,但实际上前端每次都要重新实现整个页面,浪费很多人力 ...

  3. Go语言学习之13 日志管理平台开发

    主要内容: 1. ElasticSearch介绍与使用2. kibana介绍与使用 1. ElasticSearch安装 详见上节内容2. kibana安装 (1) 下载ES,下载地址:https:/ ...

  4. 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1

    点击返回自学华为IoT物流网 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1 实验1:OceanConnect平台实验             通过基本的编程操作与配置,帮助读者熟悉O ...

  5. 如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/905333001487424158 来源:腾云阁 h ...

  6. API开发管理平台eoLinker AMS 4.1版本发布:加入聚合空间,发布AMS专业版等

    eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台. eoLinker AMS 4.1更新内容: 1.新增" ...

  7. RTC — 软件协作开发管理平台

    IBM Rational Team Concert (简称RTC )是构建在IBM Rational面向软件交付技术的下一代协作平台Jazz平台上的一个商用产品.一个协作式的软件开发环境,它包含了集成 ...

  8. Java EE开发课外事务管理平台

    Java EE开发课外事务管理平台 演示地址:https://ganquanzhong.top/edu 说明文档 一.系统需求 目前课外兴趣培训学校众多,完善,但是针对课外兴趣培训学校教务和人事管理信 ...

  9. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

随机推荐

  1. 友盟SDK实现分享

    友盟SDK文档已经写得很详细了,这边整理笔记,先过一遍流程: 1⃣️注册友盟账号以获取Appkey,下面以分享到微信为例 2⃣️申请第三方账号是因为要进行分享.授权这样的操作肯定是要通过第三方的审核( ...

  2. Android项目实战(二十八):Zxing二维码实现及优化

    前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的ja ...

  3. IOS开发基础知识--碎片42

    1:报thread 1:exc_bad_access(code=1,address=0x70********) 闪退 这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象( ...

  4. KEIL中启动文件详解(汇编语言)

    原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...

  5. String类型传值以及对象传值

    package Virtual; class Stan{ String mm = "hello"; } class Virtual { public static void mai ...

  6. Java源码分析之ArrayList

    ArrayList是以数组为基准的容器类,和LinkedList(链表)正好相反.因而ArrayList拥有更好的查找性能,增删操作则差一些.ArrayList封装了对于常规数组的操作,同时可以自动扩 ...

  7. ADO.NET五大对象理论和实践(草稿)

    一.ADO.NET五大对象理论 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. Command对象在执行的的时候有几个比较重要的方法,如Exe ...

  8. VIEW SERVER STATE permission was denied on object 'server', database 'master'

    今天一同事反馈使用SQL Server 2012 Management Studio连接SQL Server 2014后,选择数据库中某个表,然后单击右键时,就会遇到下面错误: 这个错误初看以为是权限 ...

  9. js跨域那些事

    原文:http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html 什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其 ...

  10. Si2155

    http://www.edom.com.tw/cn/index.jsp?m=prodview&id=1702 Description:新型的Si2155 电视调谐器IC扩展了Silicon L ...