閒聊

[做個memo] 網站突然死了 但是其實server沒掛

最近其實很常發生一件事情,就是blog這台server會突然網頁沒有回應

我一直以為是電腦當了 結果後來發現server其實沒死,連apache服務也活得好好的沒掛

但是就是網頁打不開阿 重開apache服務也沒用,都只能重開電腦才能恢復

我還寫了一個小的腳本查看一下apache的連線狀態

RED="\e[31m"
GREEN="\e[32m"
ENDCOLOR="\e[0m"
echo -e "${RED}查看apache當前並發訪問數:netstat -an | grep ESTABLISHED | wc -l${ENDCOLOR}"
netstat -an | grep ESTABLISHED | wc -l
echo -e "${RED}統計80埠連接數netstat -nat|grep -i "80"|wc -l${ENDCOLOR}"
netstat -nat|grep -i "80"|wc -l
echo -e "${RED}統計httpd協議連接數ps -ef|grep httpd|wc -l${ENDCOLOR}"
ps -ef|grep httpd|wc -l
echo -e "${RED}統計已連接上的,狀態為「established   netstat -na|grep ESTABLISHED|wc -l${ENDCOLOR}"
netstat -na|grep ESTABLISHED|wc -l

echo -e  "${RED}查看有多少個進程數ps aux|grep httpd|wc -l${ENDCOLOR}"
ps aux|grep httpd|wc -l

echo -e "${GREEN}查看Apache的並發請求數及其TCP連接狀態:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'"
echo -e  "CLOSED:無連接是活動 的或正在進行LISTEN:伺服器在等待進入呼叫SYN_RECV:一個連接請求已經到達,等待確認SYN_SENT:應用已經開始,打開一個連接ESTABLISHED:正常>數據傳輸狀FIN_WAIT1:應用說它已經完成FIN_WAIT2:另一邊已同意釋放ITMED_WAIT:等待所有分組死掉CLOSING:兩邊同時嘗試關閉TIME_WAIT:另一邊已初始化一個釋放ST_ACK:等待所>有分組死掉${ENDCOLOR}"
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

echo -e "${GREEN} 看連線數誰太多netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n${ENDCOLOR}"
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

結果還是沒甚麼用,後來搞半天才發現是php-fpm在搞鬼

直接service php-fpm restart 就好了

Be the First to comment.

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。

(若看不到驗證碼,請重新整理網頁。)