Linux 셸 HTTP 서비스 예제 코드 구현
프 록 시 HAProxy 를 사용 하여 Mysql 에 부하 균형 을 맞 추 는 것 은 일반적인 방안 입 니 다.사용 성 을 높이 기 위해 서 는 어떤 Mysql 에 문제 가 생 겼 을 때,예 를 들 어 서버 가 고장 났 거나 데이터 복사 가 중단 되 었 을 때 HAProxy 가 바로 알 고 전송 요청 을 중단 하 는 것 이 좋 습 니 다.
HAProxy 는 Mysql 에 문제 가 있 는 지 어떻게 압 니까?
2.해결 방향
(1)셸 스 크 립 트 를 작성 하여 my sql 상 태 를 확인 한 다음 결 과 를 출력 합 니 다.예 를 들 어 상태 가 정상 일 때 상태 코드 200 과 정확 한 정 보 를 되 돌려 줍 니 다.그렇지 않 으 면 상태 코드 503 과 오류 정 보 를 되 돌려 줍 니 다.
(2)연결 요청 이 있 으 면 위의 검사 스 크 립 트 를 호출 하여 검사 결 과 를 되 돌려 줍 니 다.
(3)HAProxy 가 이 HTTP 서 비 스 를 방문 하여 되 돌아 오 는 결과 정보 에 따라 이 mysql 을 사용 할 수 있 는 지 여 부 를 판단 합 니 다.
어떻게 하면 셸 스 크 립 트 를 호출 할 수 있 는 HTTP 서 비 스 를 신속하게 실현 할 수 있 습 니까?
비교적 통용 되 는 방안 은 xinetd 이다.
xinetd 는 Linux 의 데 몬 입 니 다.모두 extended interent daemon 이 라 고 부 르 며 확 장 된 네트워크 데 몬 입 니 다.
xinetd 는 포트 를 열 고 연결 을 기다 릴 수 있 습 니 다.xinetd 가 어떤 스 크 립 트 를 실행 하 는 지 알려 줄 수 있 습 니 다.연결 이 들 어 오 면 xinetd 는 스 크 립 트 를 실행 하고 스 크 립 트 출력 내용 을 직접 되 돌려 줍 니 다.
HAProxy -> xinetd -> mysql-check
스 크 립 트 에서 HAProxy 는 my sql 의 상태 정 보 를 얻 었 습 니 다.xinetd 설정 사례
다음은 간단 한 xinetd 예제 를 실현 하고 9200 포트 를 열 어 테스트 스 크 립 트 의 출력 내용 을 되 돌려 줍 니 다.
만약 기계 에 xinetd 가 없다 면,먼저 설치 하고,centos 7 에서 명령
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)가입 서비스 목록
수정
9200 포트 를 정의 하 는 위 치 를 찾 아 기 존의 주석 을 지우 고
/etc/services
서 비 스 를 추가 합 니 다.
helloworld 9200/tcp
#wap-wsp 9200/tcp
#wap-wsp 9200/udp
(4)xinetd 다시 시작centos 의 재 부팅 명령 은:
systemctl restart xinetd.service
(5)테스트각각
helloworld
과 nc
두 명령 으로 테스트 해 보 세 요.
nc localhost 9200
telnet localhost 9200
스 크 립 트 실행 내용 을 정확하게 출력 하여 예제 를 완성 할 수 있 습 니 다.
총결산
Linux 셸 이 HTTP 서 비 스 를 실현 하 는 내용 은 여기까지 입 니 다.여러분 의 업무 와 학습 에 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글로 토론 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.