开发haproxy管理平台
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管理平台的更多相关文章
- ServiceStage-华为微服务开发与管理平台
前言 在上一篇文章一年前,我来到国企搞IT 中,和小伙伴分享了我在国企这一年当中的所见,所闻,所想,很高兴能够获得很多同道中人的共鸣.过去一年,我的很大一部分工作都投入到公司技术平台的建设中.Jira ...
- 基于Vue全家桶开发的前端组件管理平台
项目背景 项目背景是外包类建站公司里,设计环节沉淀了大量可复用组件,设计师往往只需要微调组件就拼凑出页面,交付给前端,理论上这些组件在前端也可以复用,但实际上前端每次都要重新实现整个页面,浪费很多人力 ...
- Go语言学习之13 日志管理平台开发
主要内容: 1. ElasticSearch介绍与使用2. kibana介绍与使用 1. ElasticSearch安装 详见上节内容2. kibana安装 (1) 下载ES,下载地址:https:/ ...
- 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1
点击返回自学华为IoT物流网 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1 实验1:OceanConnect平台实验 通过基本的编程操作与配置,帮助读者熟悉O ...
- 如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台
版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/905333001487424158 来源:腾云阁 h ...
- API开发管理平台eoLinker AMS 4.1版本发布:加入聚合空间,发布AMS专业版等
eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台. eoLinker AMS 4.1更新内容: 1.新增" ...
- RTC — 软件协作开发管理平台
IBM Rational Team Concert (简称RTC )是构建在IBM Rational面向软件交付技术的下一代协作平台Jazz平台上的一个商用产品.一个协作式的软件开发环境,它包含了集成 ...
- Java EE开发课外事务管理平台
Java EE开发课外事务管理平台 演示地址:https://ganquanzhong.top/edu 说明文档 一.系统需求 目前课外兴趣培训学校众多,完善,但是针对课外兴趣培训学校教务和人事管理信 ...
- 微服务管理平台nacos虚拟ip负载均衡集群模式搭建
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
随机推荐
- 用Kotlin开发Android应用(I):介绍
关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...
- Android源码中内置包含so文件的APK文件
方法一: 在packages/apps下面以需要预置的APK名字创建文件夹,以预置一个名为Test的APK为例 将Test.apk放到packages/apps/Test下面 在packages/ap ...
- IOS开发之Bug--iOS7View被导航栏遮挡问题的解决
在实际开发中,遇到在UITextView的frame等于当前控制器的View的frame的情况下,然后运行的时候,发现控制器的Frame的高度y值会从导航条的位置64变化到0. 导致UITextVie ...
- IOS网络请求的一些需要记录的info设置
info.plist文件: <key>NSExceptionDomains</key> <dict> <key>appapi.700bike.com&l ...
- SQL Server 中VARCHAR(MAX)变量赋值引起的性能问题。
案例环境: 操作系统版本 : Windows Server 2008 R2 Standard SP1 数据库版本 : Microsoft SQL Server 2012 (SP1) - 11. ...
- Sqoop 结合多种系统的具体应用
Sqoop与HDFS结合 下面我们结合 HDFS,介绍 Sqoop 从关系型数据库的导入和导出. Sqoop import 它的功能是将数据从关系型数据库导入 HDFS 中,其流程图如下所示. 我们来 ...
- SQL Server Column Store Indeses
SQL Server Column Store Indeses SQL Server Column Store Indeses 1. 概述 2. 索引存储 2.1 列式索引存储 2.2 数据编码和压缩 ...
- java请求https地址如何绕过证书验证?
原文http://www.blogjava.net/hector/archive/2012/10/23/390073.html 第一种方法,适用于httpclient4.X 里边有get和post两种 ...
- Linux系统有7个运行级别(runlevel)
Linux系统有7个运行级别(runlevel) 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别 ...
- 域用户执行金蝶K/3报错解决方法
自从上星期测试加域意外将公司考勤系统整出事后,就再也不敢在物理机测试了. 装好虚拟机和装好金蝶K/3系统后,被这条报错信息折腾了好几天,一方面是不熟悉该软件,另一方面是几乎搜不到相关的文章. 一.问题 ...