婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux shell實現HTTP服務示例代碼

Linux shell實現HTTP服務示例代碼

熱門標簽:鶴崗400電話申請 測繪地圖標注名稱 智能電銷機器人有用嗎 天津電話外呼系統排名 商機地圖標注 外呼電話系統怎么操作 怎么在百度地圖標注公司的位置 百度地圖標注直線距離 德陽400電話申請

一、前言

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

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

二、解決思路

(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


telnet localhost 9200


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

總結

Linux shell實現HTTP服務的內容到這就基本結束了,希望對大家的工作和學習能有所幫助,如果有疑問可以留言討論。

您可能感興趣的文章:
  • PHP程序員玩轉Linux系列 Nginx中的HTTPS詳解
  • 詳解阿里云LINUX服務器配置HTTPS(NGINX)
  • Linux下nginx配置https協議訪問的方法
  • Linux下SVN服務器同時支持Apache的http和svnserve獨立服務器兩種模式且使用相同的訪問權限賬號
  • Linux服務器nginx訪問日志里出現大量http 400錯誤的請求分析
  • Linux下Web性能壓力測試工具http_load使用教程
  • Linux下模擬http的get/post請求(curl or wget)詳解

標簽:武漢 優質小號 滁州 自貢 百色 丹東 六盤水 鎮江

巨人網絡通訊聲明:本文標題《Linux shell實現HTTP服務示例代碼》,本文關鍵詞  Linux,shell,實現,HTTP,服務,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux shell實現HTTP服務示例代碼》相關的同類信息!
  • 本頁收集關于Linux shell實現HTTP服務示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 舟曲县| 新巴尔虎左旗| 彩票| 岑溪市| 彭泽县| 西乡县| 宝山区| 武陟县| 渝中区| 松溪县| 土默特左旗| 大城县| 姜堰市| 黄陵县| 浑源县| 双鸭山市| 茂名市| 沂源县| 桃园县| 兴和县| 海伦市| 永济市| 大渡口区| 荔波县| 大足县| 望江县| 万安县| 中超| 甘肃省| 张家界市| 襄汾县| 仁布县| 化州市| 安多县| 沾化县| 墨竹工卡县| 勃利县| 乐安县| 阿拉善右旗| 邵东县| 凤凰县|