昨天發(fā)現(xiàn)某臺服務器的負載和CPU一直100%,服務器配置是4核16G ,裝了二十個站,訪問量都不大,按理說不應該把資源跑滿。
直接進入日志目錄(/www/wwwlogs/)看服務器最新的訪問情況。
發(fā)現(xiàn)很多IP POST Xmlrpc.php ,這種大概率是一些漏洞掃描器在工作。
為什么 xmlrpc.php 文件會被掃描,首先要明白什么是 XML-RPC,它的全稱是 XML Remote Procedure Call,即 XML 遠程過程調用,它是一套允許運行在不同操作系統(tǒng)、不同環(huán)境的程序實現(xiàn)基于網(wǎng)絡過程調用的規(guī)范和一系列的實現(xiàn)。
關于xmlrpc.php的隱患網(wǎng)上很多,大家可以百度或者谷歌。
ok,既然找到原因,立馬在Nginx的配置文件里加上下面這段代碼。
? ? location ~* /xmlrpc.php {
? ? ?deny all;
? ? }
果然,負載和CPU降到正常狀態(tài)。
繼續(xù)看了下日志,發(fā)現(xiàn)還有一些罪魁禍首。
現(xiàn)在網(wǎng)絡上的爬蟲非常多,有對網(wǎng)站收錄有益的,比如谷歌機器人(GoogleBot),也有不遵守robots規(guī)則,對服務器造成壓力,還不能為網(wǎng)站帶來流量的無用爬蟲。
因為我做的SEO站群,所以除了Google爬蟲,Bing爬蟲,其他的我基本上都做無用處理。常見的采集數(shù)據(jù)的機器人關鍵詞加入 UA 黑名單,如 MJ12bot、AhrefsBot、serpstatbot、DataForSeoBot、SNAPSHOTGPTBot、Go-http-client、python-requests .....真的太多太多了。這些機器人只會把服務器的資源耗盡。
直接在Nginx的配置目錄里寫一個配置文件。
文件內(nèi)容:
最后再站點配置里調用這個文件。
? ? include /usr/local/nginx/conf/agent_deny.conf;?
公眾號里不太好放代碼,如果有需要,聯(lián)系我發(fā)你。
最后再說一點,如果服務器配置低于4核8G ,排除惡意掃描和爬蟲、代碼邏輯等原因,依然負載和CPU很高,還可以試試針對PHP的FPM配置文件進行優(yōu)化。
FPM配置,主要是4個參數(shù)。
pm.max_children?
pm.start_servers??
pm.min_spare_servers?
pm.max_spare_servers?
根據(jù)硬件配置,具體設置的數(shù)據(jù)也不同,詳情大家百度和google搜索。
以上就是VPS滿負載,CPU100%的解決方案。做自建站的可以收藏下,說不定哪天就能用。
我是做跨境的老王,歡迎找我聊天。vx:6860145
文章為作者獨立觀點,不代表DLZ123立場。如有侵權,請聯(lián)系我們。( 版權為作者所有,如需轉載,請聯(lián)系作者 )

網(wǎng)站運營至今,離不開小伙伴們的支持。 為了給小伙伴們提供一個互相交流的平臺和資源的對接,特地開通了獨立站交流群。
群里有不少運營大神,不時會分享一些運營技巧,更有一些資源收藏愛好者不時分享一些優(yōu)質的學習資料。
現(xiàn)在可以掃碼進群,備注【加群】。 ( 群完全免費,不廣告不賣課!)