最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux shell實(shí)現(xiàn)HTTP服務(wù)示例代碼

 更新時(shí)間:2016年08月25日 09:45:52   投稿:daisy  
這篇文章介紹的是如何實(shí)現(xiàn)一個(gè)可以調(diào)用shell腳本的HTTP服務(wù),本文給出了詳細(xì)的示例代碼,有需要的可以參考借鑒。

一、前言

使用代理服務(wù)器 HAProxy 對(duì) Mysql 做負(fù)載均衡是常用方案,為提高可用性,當(dāng)某個(gè) Mysql 出現(xiàn)問題時(shí),例如服務(wù)器故障了,或者數(shù)據(jù)復(fù)制中斷了,最好可以讓 HAProxy 馬上知道,然后停止向其轉(zhuǎn)發(fā)請(qǐng)求

HAProxy 如何知道 Mysql 是否有問題呢?

二、解決思路

(1)編寫一個(gè)shell腳本,檢查 mysql 的狀態(tài),然后輸出結(jié)果,例如狀態(tài)正常時(shí),返回狀態(tài)碼200及正確信息,否則返回狀態(tài)碼503及錯(cuò)誤信息

(2)實(shí)現(xiàn)一個(gè)HTTP服務(wù),有請(qǐng)求連接后,調(diào)用上面的檢查腳本,返回檢查結(jié)果

(3)HAProxy 訪問這個(gè)HTTP服務(wù),根據(jù)返回的結(jié)果信息來(lái)判斷這個(gè) mysql 是否可用

如何方便快速的實(shí)現(xiàn)一個(gè)可以調(diào)用shell腳本的HTTP服務(wù)呢?

比較通用的方案就是 xinetd

xinetd 是 Linux 的守護(hù)進(jìn)程,全稱為 extended interent daemon,擴(kuò)展的網(wǎng)絡(luò)守護(hù)進(jìn)程

xinetd 可以打開一個(gè)端口,等待連接,你可以告訴 xinetd 運(yùn)行哪個(gè)腳本,當(dāng)有連接進(jìn)來(lái)后,xinetd 便會(huì)執(zhí)行腳本,然后直接返回腳本輸出的內(nèi)容

HAProxy -> xinetd -> mysql-check腳本,HAProxy 便取得了mysql的狀態(tài)信息

xinetd 的配置案例

下面實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 xinetd 示例,開放 9200 端口,返回一個(gè)測(cè)試腳本的輸出內(nèi)容

如果機(jī)器上還沒有 xinetd,先安裝一下,centos7 下可以使用命令 yum install xinetd

(1)測(cè)試腳本

#!/bin/bash

echo `uptime | egrep -o 'up ([0-9]+) days' | awk '{print $2}'`

這個(gè)腳本用來(lái)輸出當(dāng)前服務(wù)器的在線天數(shù)

chmod +x 給腳本添加可執(zhí)行權(quán)限

(2)編寫 xinetd 服務(wù)

例如服務(wù)名為 helloworld,文件名 /etc/xinetd.d/helloworld,內(nèi)容為

service helloworld

{

disable = no

port  = 9200

socket_type   = stream

protocol    = tcp

wait      = no

user      = root

server     = /root/test.sh

server_args   = test

}

port 指定監(jiān)聽的端口

server 指定要執(zhí)行的腳本

(3)加入服務(wù)列表

修改 /etc/services

找到定義 9200 端口的位置,注釋掉原有的,添加 helloworld 服務(wù)

helloworld   9200/tcp

#wap-wsp     9200/tcp

#wap-wsp     9200/udp

(4)重啟 xinetd

centos 下的重啟命令為:

systemctl restart xinetd.service

(5)測(cè)試

分別用 nc telnet 兩個(gè)命令測(cè)試一下

nc localhost 9200


telnet localhost 9200


可以正確輸出腳本執(zhí)行內(nèi)容,完成示例

總結(jié)

Linux shell實(shí)現(xiàn)HTTP服務(wù)的內(nèi)容到這就基本結(jié)束了,希望對(duì)大家的工作和學(xué)習(xí)能有所幫助,如果有疑問可以留言討論。

相關(guān)文章

  • shell中tail和head的用法小結(jié)

    shell中tail和head的用法小結(jié)

    本文主要介紹了shell中tail和head的用法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • shell命令返回值判斷的方法實(shí)現(xiàn)

    shell命令返回值判斷的方法實(shí)現(xiàn)

    本文主要介紹了shell命令返回值判斷的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • VPS自動(dòng)備份數(shù)據(jù)庫(kù)到FTP的腳本代碼

    VPS自動(dòng)備份數(shù)據(jù)庫(kù)到FTP的腳本代碼

    示例的文件目錄結(jié)構(gòu):我在/home下操作,自動(dòng)腳本名稱為backup.sh(放置于/home目錄下),VPS本地本分目錄為/home/backup
    2013-01-01
  • 強(qiáng)制刪除rpm包的方法

    強(qiáng)制刪除rpm包的方法

    本文給大家介紹強(qiáng)制刪除rpm包,對(duì)rpm包刪除方法感興趣的朋友可以一起學(xué)習(xí)
    2015-11-11
  • crontab每10秒執(zhí)行一次的實(shí)現(xiàn)方法

    crontab每10秒執(zhí)行一次的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇crontab每10秒執(zhí)行一次的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-04-04
  • Shell中刪除某些文件外所有文件的3個(gè)方法

    Shell中刪除某些文件外所有文件的3個(gè)方法

    這篇文章主要介紹了Shell中刪除某些文件外所有文件的3個(gè)方法,即在刪除文件時(shí)保留一些想要的,其它的則刪除,需要的朋友可以參考下
    2014-10-10
  • linux 獲取文件名稱并生成列表txt的方法

    linux 獲取文件名稱并生成列表txt的方法

    今天小編就為大家分享一篇linux 獲取文件名稱并生成列表txt的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • Shell過濾器的具體使用

    Shell過濾器的具體使用

    這篇文章主要介紹了Shell過濾器的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Linux中的內(nèi)核鏈表實(shí)例詳解

    Linux中的內(nèi)核鏈表實(shí)例詳解

    這篇文章主要介紹了Linux中的內(nèi)核鏈表實(shí)例詳解的相關(guān)資料,鏈表中一般都要進(jìn)行初始化、插入、刪除、顯示、釋放鏈表,尋找節(jié)點(diǎn)這幾個(gè)操作,需要的朋友可以參考下
    2017-08-08
  • shell linux中如何用shell寫一個(gè)占用CPU的腳本

    shell linux中如何用shell寫一個(gè)占用CPU的腳本

    本文主要介紹了shell linux中如何用shell寫一個(gè)占用CPU的腳本,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論

文登市| 顺义区| 长顺县| 晋州市| 昌邑市| 盐源县| 句容市| 庆云县| 黄浦区| 白城市| 金华市| 南靖县| 原阳县| 夏邑县| 麟游县| 东乡族自治县| 海阳市| 双牌县| 大悟县| 永德县| 奉化市| 霍林郭勒市| 沙坪坝区| 昌吉市| 三原县| 南通市| 额济纳旗| 南皮县| 神木县| 丹寨县| 开封市| 黑河市| 迭部县| 屯留县| 弥勒县| 高碑店市| 天等县| 青田县| 沈阳市| 永寿县| 克拉玛依市|