日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

PHP网站首页打不开的原因讲起

發布時間:2023/11/27 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP网站首页打不开的原因讲起 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近有個網站首頁打不開,偶爾報504錯誤,如圖所示,這是nginx直接返回的。


今天下午16:00多又出現了,看了下阿里云數據庫連接,其實在晚上2:00也出現了一次。這個圖是后來問題已經解決了獲取的,數據庫連接的請求數已經降下來了。



現在似乎是數據庫壓力很大,由于我們的數據庫服務器同時有好幾個庫在線上,并不確定是其他系統把數據庫拖垮還是當前這個系統的原因。


使用語句查詢數據庫的會話數

SQLSERVER 查看當前連接數
Select * from sys.dm_exec_connections --此命令可以看到有多少人在連
Select * from sys.dm_exec_sessions --此命令可以看到有多少會話,一個連接可以有多個會話


從圖中大致定位到還是之前報504的網站對數據庫的請求數很多。


定位到具體應用就可以上對應的服務器去進一步去查

先看CPU是比較正常的



再查PHP-FPM的進程數


正常情況下php進程只有10個左右,一下子變成這么多肯定說明是外界有很大的請求數。


但是為了確定是不是php出現什么異常導致進程無法結束,所以結束所有進程,重啟php-fpm.。

發現沒過多久又出現很多的進程數,所以可以得出結論:這說明nginx報504的原因是外界的請求是持續的,導致數據庫壓力巨大請求不過來,所以nginx報504


然后查這個時候的nginx日志最近500條數據

#tail -n 500 /usr/local/nginx/logs/access.log >>500_20160218-1712.txt


從日志里看出主要是百度和搜狗的蜘蛛在爬行,百度是一直在爬行的,應該是比較穩定不會導致網站突然流量劇增,而且據說百度會控制訪問的頻率,保證不把網站爬掛。

看來后面的日志,發現這個時間段搜狗的蜘蛛爬行數量是非常多的,由于蜘蛛是用集群在爬,所以屏蔽IP是沒用的,只能在nginx里屏蔽請求頭。

server {listen       80;root        /www/;index  index.php;#禁止特定爬蟲的抓取if ($http_user_agent ~* "Sogou web spider") {return 403;}

然后重新結束php進程,啟動php進程,發現整個進程是非常平穩的維持在10個


說明就是搜狗搞的事情,當務之急只能先這么著了,誰讓搜狗沒有多少用戶群呢,后續的解決方案還是使用緩存,所以從這個事情得出一條非常重要的結論,盡量使用緩存,不要因為網站現在很穩定就不使用緩存,因為網站隨時會遇到這種訪問量突發的情況


屏蔽搜狗之前:

屏蔽搜狗之后:



下面是從nginx日志中分析出來的各種蜘蛛對網站的爬行數據排名靠前的幾個,其實已經屏蔽了谷歌等很多用處不大的爬蟲,但是還是有很多爬蟲在爬:


看的出來搜狗一天怕了不少。


特定IP抓取網站數據,其實是和指針類似,但是這類抓取一般會不定時,所以需要監控php進程,及時屏蔽對方IP?

監控php-fpm進程數

#!/bin/sh 
echo `date '+%Y-%m-%d %H:%M:%S'` "php進程數>>>"`ps -ef | grep php-fpm | wc  -l` >> /usr/wwwyuanboweb/phpfpm.txt


如果要做進程不存在重啟之類的事情

#!/bin/sh 
ps -ef | grep php-fpm | wc  -l
if [ $? -ne 0 ]
then
echo "start process....."
else
echo "runing....."
fi
#####


需要windows到linux轉碼

# yum install -y dos2unix
# dos2unix ./t.sh

?

或者

vi t.sh
:set fileformat=unix
:wq 

?

還需要給shell腳本權限

#chmod +x ./t.sh

#contab? -e

*/1 * * * * /bin/bash  /usr/wwwyuanboweb/t.sh

?

查指定時間段的nginx日志

# sed -n '/23\/Feb\/2016:13:45:00/,/23\/Feb\/2016:13:50:59/'p /usr/local/nginx/logs/access.log>>20160223-1345-1350.txt

屏蔽指定的IP

通過iptables屏蔽某些或者某個IP地址達到屏蔽效果
# iptables -I INPUT -s 192.168.38.174 -j DROP //屏蔽單個ip
# iptables -I INPUT -s 192.168.38.0/100 -j DROP //屏蔽某段ip


網站監控數據




總結

以上是生活随笔為你收集整理的PHP网站首页打不开的原因讲起的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。