昨天發(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的配置目錄里寫一個配置文件。

      文件內容:

      最后再站點配置里調用這個文件。

      ? ? 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


      點贊(4) 打賞

      評論列表 共有 0 條評論

      暫無評論

      服務號

      訂閱號

      備注【拉群】

      商務洽談

      微信聯(lián)系站長

      發(fā)表
      評論
      立即
      投稿
      返回
      頂部