Nginx 서비스 가 정상적으로 작 동 하 는 지 확인 하기 (자세 한 설명)
수요: Nginx 서비스 가 정상적으로 작 동 하 는 지 확인 하고 실행 되 지 않 으 면 Nginx 서버 를 시작 합 니 다. Nginx 를 시작 하 는 데 실패 하면 메 일 로 경고 하 는 방식 으로 알려 줍 니 다.
분석
1: Nginx 서비스 가 다음 과 같이 실행 되 고 있 는 지 모니터링 합 니 다.
[root@yankerp ~]# netstat -anput | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 27228/nginx: master
이 명령 을 사용 하면 Nginx 가 실행 중인 것 을 똑똑히 볼 수 있 습 니 다.
2: Nginx 서버 를 시작 합 니 다. 우 리 는 그것 의 절대 경 로 를 통 해 Nginx 를 시작 할 수 있 습 니 다. 내 Nginx 설치 경 로 는: / usr / local / nginx 중 / sbin / 아래 가 Nginx 의 시작 항목 입 니 다.
/usr/local/nginx/sbin/nginx
3: 시작 에 실패 하면 메 일 로 신고 하 는 방식 으로 알려 줍 니 다.
어떻게 Nginx 시작 실 패 를 판단 할 수 있 습 니까? 우 리 는 특수 한 상태 변 수 를 사용 할 수 있 습 니 다 $? 만약 / usr / local / nginx / sbin / nginx 이 명령 이 실 행 된 후 시작 에 실패 하면 $?0 이 아 닌 수 치 를 출력 하 는 데 실 패 했 습 니 다. 그러면 메 일 신고 방식 에 대해 서 는 sendemail 을 사 용 했 습 니 다.
2. 대본 작성
시작 설명: \ #! /빈 / bash 한 마디 는 이 스 크 립 트 의 내용 이 bash 해상도 기 를 통 해 실 행 된 것 을 의미 합 니 다.
스 크 립 트 작성 규범 입력 시간 - 작성 자의 정보 - 이메일 주소 및 버 전 등.다음 과 같다.
#!/bin/bash
#Date: 17:17 2018-03-04
#Author: yankai
#Email: [email protected]
#Function: Nginx monitoring
#Version: 3.1
2) 정의 변수
. /etc/init.d/functions # ,
RED_COLOR='\E[1;31m' # ( )
RES='\E[0m' #
NGX=`netstat -anput | grep nginx | wc -l` # Nginx wc
DA=`date +%Y-%m-%d` #
3) 정의 함수
다음은 첫 번 째 함 수 를 쓰기 시작 합 니 다. 우선 이 컴퓨터 의 URL 을 가 져 와 서 성공 할 수 있 는 지 확인 하 겠 습 니 다.http://localhost
function Nginx_URL(){ # URL
wget --spider -q -o /dev/null --tries=1 -T 5 http://localhost # ---/dev/null wget
if [ "$?" -ne 0 ] # wget url 0
then #
action "Nginx pages cannot be obtained_$DA" /bin/false >> /var/log/nginx_url_error.log
# NginxURL , DA /var/log/nginx_url_error.log
fi # fi if
}
질문 Nginx 가 다운 될 수 있 음 을 의미 합 니 다. Nginx 가 실행 중인 지 확인 하 는 함 수 를 계속 쓰 겠 습 니 다.
function main(){ #
Nginx_URL # NGinxurl nginx url
Nginx_server # nginx nginx
}
main # main
function Nginx_server(){ # Nginx
if [ "$NGX" -ne 0 ] #$NGX 0 0
then #
echo -en "${RED_COLOR} Nginx is running!
${RES}" # Nginx is running ;
else # NGINX
/usr/local/nginx/sbin/nginx
fi
if [ "$?" -ne 0 ];then : sendemail
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "Nginx alarm" -o message-content-type=html -o message-charset-utf8 -xu yankerpcs -xp 123456yk -m "Nginx has serious downtime" &>/dev/null
fi
}
마지막 으로 우 리 는 두 함수 가 동시에 Nginx 의 상태 상황 을 검 측 하 는 것 을 정 의 했 습 니 다. 마지막 으로 우 리 는 총 함 수 를 정의 하여 상기 함 수 를 호출 하여 마지막 테스트 를 해 야 합 니 다.
function main(){ #
Nginx_URL # NGinxurl nginx url
Nginx_server # nginx nginx
}
main # main 。
3. 끝:
위의 몇 가지 조작 을 통 해 우 리 는 Nginx 의 각종 판단 을 통 해 Nginx 의 운행 상황 을 확정 하 는 동시에 우 리 는 메 일 경보 체 제 를 설정 하여 운영 자 에 게 경보 메 시 지 를 보 냈 다.그럼 마지막 스 크 립 트 는 다음 과 같 습 니 다.
#!/bin/bash
#Date: 17:17 2018-03-04
#Author: yankai
#Email: [email protected]
#Function: Nginx monitoring
#Version: 3.1
. /etc/init.d/functions
RED_COLOR='\E[1;31m'
RES='\E[0m'
NGX=`netstat -anput | grep nginx | wc -l`
DA=`date +%Y-%m-%d`
function Nginx_URL(){
wget --spider -q -o /dev/null --tries=1 -T 5 http://localhost
if [ "$?" -ne 0 ]
then
action "Nginx pages cannot be obtained_$DA" /bin/false >> /var/log/nginx_url_error.log
fi
}
function Nginx_server(){
if [ "$NGX" -ne 0 ]
then
echo -en "${RED_COLOR} Nginx is running!
${RES}"
else
/usr/local/nginx/sbin/nginx
fi
if [ "$?" -ne 0 ];then
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "Nginx alarm" -o message-content-type=html -o message-charset-utf8 -xu yankerpcs -xp 123456yk -m "Nginx has serious downtime" &>/dev/null
fi
}
function main(){
Nginx_URL
Nginx_server
}
main
글 은 다음 과 같이 전 재 됩 니 다:https://blog.csdn.net/qq_39591494/article/details/79437696
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.