91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中shell如何實現HTTP服務

發布時間:2021-03-12 14:02:58 來源:億速云 閱讀:1415 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Linux中shell如何實現HTTP服務的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、前言

使用代理服務器 HAProxy 對 Mysql負載均衡是常用方案,為提高可用性,當某個 Mysql 出現問題時,例如服務器故障了,或者數據復制中斷了,最好可以讓 HAProxy 馬上知道,然后停止向其轉發請求。

二、解決思路

(1)編寫一個shell腳本,檢查 mysql 的狀態,然后輸出結果,例如狀態正常時,返回狀態碼200及正確信息,否則返回狀態碼503及錯誤信息

(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 示例,開放 9200 端口,返回一個測試腳本的輸出內容

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

(1)測試腳本

#!/bin/bash

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

這個腳本用來輸出當前服務器的在線天數

chmod +x 給腳本添加可執行權限

(2)編寫 xinetd 服務

例如服務名為 helloworld,文件名 /etc/xinetd.d/helloworld,內容為

service helloworld

{

disable = no

port  = 9200

socket_type   = stream

protocol    = tcp

wait      = no

user      = root

server     = /root/test.sh

server_args   = test

}

port 指定監聽的端口

server 指定要執行的腳本

(3)加入服務列表

修改 /etc/services

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

helloworld   9200/tcp

#wap-wsp     9200/tcp

#wap-wsp     9200/udp

(4)重啟 xinetd

centos 下的重啟命令為:

systemctl restart xinetd.service

(5)測試

分別用 nc telnet 兩個命令測試一下

nc localhost 9200

Linux中shell如何實現HTTP服務

telnet localhost 9200

Linux中shell如何實現HTTP服務

可以正確輸出腳本執行內容,完成示例。

感謝各位的閱讀!關于“Linux中shell如何實現HTTP服務”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天长市| 财经| 麻江县| 泽普县| 永仁县| 普安县| 卫辉市| 吉木萨尔县| 五指山市| 淮滨县| 石嘴山市| 全南县| 册亨县| 博兴县| 志丹县| 宝应县| 吉安县| 垫江县| 察隅县| 留坝县| 准格尔旗| 永定县| 固始县| 紫金县| 贞丰县| 八宿县| 邻水| 新宁县| 宁武县| 陈巴尔虎旗| 射阳县| 乐都县| 古田县| 大化| 武鸣县| 兰西县| 巫溪县| 津南区| 万源市| 务川| 临湘市|