位置: 编程技术 - 正文

Linux shell实现HTTP服务示例代码

编辑:rootadmin

推荐整理分享Linux shell实现HTTP服务示例代码,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

一、前言

使用代理服务器 HAProxy 对 Mysql 做负载均衡是常用方案,为提高可用性,当某个 Mysql 出现问题时,例如服务器故障了,或者数据复制中断了,最好可以让 HAProxy 马上知道,然后停止向其转发请求

HAProxy 如何知道 Mysql 是否有问题呢?

二、解决思路

(1)编写一个shell脚本,检查 mysql 的状态,然后输出结果,例如状态正常时,返回状态码及正确信息,否则返回状态码及错误信息

(2)实现一个HTTP服务,有请求连接后,调用上面的检查脚本,返回检查结果

(3)HAProxy 访问这个HTTP服务,根据返回的结果信息来判断这个 mysql 是否可用

如何方便快速的实现一个可以调用shell脚本的HTTP服务呢?

比较通用的方案就是 xinetd

xinetd 是 Linux 的守护进程,全称为 extended interent daemon,扩展的网络守护进程

xinetd 可以打开一个端口,等待连接,你可以告诉 xinetd 运行哪个脚本,当有连接进来后,xinetd 便会执行脚本,然后直接返回脚本输出的内容

HAProxy -> xinetd -> mysql-check脚本,HAProxy 便取得了mysql的状态信息

xinetd 的配置案例

下面实现一个简单的 xinetd 示例,开放 端口,返回一个测试脚本的输出内容

如果机器上还没有 xinetd,先安装一下,centos7 下可以使用命令 yum install xinetd

(1)测试脚本

Linux shell实现HTTP服务示例代码

这个脚本用来输出当前服务器的在线天数

用 chmod +x 给脚本添加可执行权限

(2)编写 xinetd 服务

例如服务名为 helloworld,文件名 /etc/xinetd.d/helloworld,内容为

port 指定监听的端口

server 指定要执行的脚本

(3)加入服务列表

修改 /etc/services

找到定义 端口的位置,注释掉原有的,添加 helloworld 服务

(4)重启 xinetd

centos 下的重启命令为:

(5)测试

分别用 nc 和 telnet 两个命令测试一下

可以正确输出脚本执行内容,完成示例

总结

Linux shell实现HTTP服务的内容到这就基本结束了,希望对大家的工作和学习能有所帮助,如果有疑问可以留言讨论。

Git中需要熟记的命令小结 提交流程相关查看文件改动以及新增的文件gitstatus添加新增文件gitaddyour_file_path//添加全部文件gitadd*//添加某类型文件gitadddir/*.js简单的提交文件gitcommit-m

用git打更新包的办法分享 前言相信很多人都有过这种经历,当修改了一堆bug后,要更新代码到服务器上,此时,最简单的方式是将项目文件全部上传一次,这种方式可行,但不

如何短时间内学好一门语言 shell脚本语言为例 这里我分享的是学习计算机shell脚本语言的方法,可能你不是在软件行业,但我建议也看看,因为我并没有讲什么技术细节,主要分享的是提炼出的通用

标签: Linux shell实现HTTP服务示例代码

本文链接地址:https://www.jiuchutong.com/biancheng/371463.html 转载请保留说明!

上一篇:Linux中scp命令获取远程文件的方法

下一篇:Git中需要熟记的命令小结(常用的git操作)

  • 赠送代金券的广告语
  • 土地交易服务费属于非税收入吗
  • 增值税和个人所得税都要交吗
  • 季度现金流量表是三个月相加吗
  • 跨越发票冲红,填了红字信息表,没有负数发票
  • 火车票丢失可以抵扣进项税额
  • 取得出口退税款算什么收入
  • 公益性捐赠税前扣除资格认定
  • 物业公司哪些费用需要公示
  • 支付稿费演出费用怎么算
  • 用于集体福利的消费税
  • 房屋租赁合同税率怎么算
  • 公司章程上的出资时间2050年
  • 备用金可以银行贷款吗
  • 利息股息红利所得个人所得税怎么算
  • 一般纳税人首次领票能领多少
  • 印花税的计税金额
  • 营改增后房屋出租税率
  • 汇算清缴报错了怎么更正
  • 母公司拨款给子公司的账务处理
  • 员工把发票丢了怎么处理
  • 1697510649
  • 腾讯手游助手怎么卸载
  • 净资产增加数怎么计算
  • register.exe - register进程有什么用.是什么意思
  • php完整教程
  • 其他债权投资按公允价值计量,为什么计提减值准备知乎
  • 开发产品完工结转
  • oss对象储存的副本储存原则
  • php模拟表单提交
  • 没签订采购合同怎么办
  • 一点分享案例
  • 什么是大语言模型(LLM)?
  • yolo系列的优缺点
  • 一般户和专户可以同一个网点吗
  • 3分钟认识Vue3的v-model
  • php禁用system用什么绕过
  • 印花税申报成功后在哪缴税
  • 利息进项税是否含增值税
  • 购买公司支付的钱怎么做账
  • 库存现金科目的辅助核算项目为日记账
  • centos7自带yum吗
  • 技术开发费免税政策
  • 钢管租赁行业会计账务处理
  • 经营租入的设备属于什么会计要素
  • 代缴纳房产税
  • mysqldump定时备份
  • 工会经费计税依据是应发还是实发
  • 财政应返还额度账务处理
  • 小规模定额征收和查账征收哪个更好一些
  • 小规模纳税人出租不动产免征增值税
  • 权益性投资收益按照什么确认收入的实现
  • 材料估价入库发票收到如何记账
  • 租赁行业出租方要交税吗
  • 应付职工薪酬账户贷方登记的是
  • 商品促销赠品如何分类
  • 无形资产摊销的会计科目怎么录
  • 业务招待费纳税调整会计分录
  • 融资租入固定资产属于本企业资产
  • 工程施工和主营业务成本关系
  • foxmail反应慢的原因
  • u盘安装win8.1系统教程
  • debian10配置ipv6地址
  • 桌面快捷方式不显示图标怎么办
  • 如何让电脑启动更快
  • linux挂载yum
  • 怎样加快缩略图的大小
  • win8怎样设置禁止弹出广告
  • linux中使用find命令查找文件
  • [置顶]电影名字《收件人不详》
  • androidstudio更改工程名字
  • express中间件面试题
  • 段正淳算正面人物吗
  • linux中awk用法详解
  • shell脚本怎么写循环
  • 复杂的字
  • jquery设置滚动条
  • js实现生成随机的圆
  • python中jsonpath
  • 电池涂料消费税问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设