再談騰訊雲centos服務器不能登錄的解決過程


上篇文章談到騰訊雲centos服務器不能登錄,通過查看監控信息,cpu使用過高,再騰訊雲頁面使用VNC方式直接登錄,然后根據提示信息,關閉導致內存溢出的進程,從而解決問題。

1 問題再現

昨天剛解決了問題,結果今天又發現mysql不能訪問,centos不能登錄,進入到騰訊雲的管理界面,查看監控信息,還是cpu利用率過高。

 

 

讀取硬盤的流量很大。

 

 

和上次出現的問題一樣。於是想到還是利用上次的方法,在騰訊雲管理頁面,服務器實例的右側利用VNC方式登錄,里面也有提示kill進程,然后根據提示操作,使用kill -9 xxx命令,關閉xxx進程。由於cpu利用率過高,操作起來很卡,關閉進程之后,又有另外的進程導致內存溢出,繼續提示kill進程,再繼續利用kill -9 xxx命令,提示沒有xxx進程,說明這個方法失效了,只能另想辦法。

2 問題分析及解決

CPU利用率過高,硬盤讀取量大,分析一下,應該是外部訪問服務器,一直讀取服務器的數據,導致流量大,服務器超負荷運行,於是想到,先把所有的端口給關閉,不讓外部網絡訪問服務器。

在騰訊雲的管理界面,點擊服務器實例,有一個安全組,定義了服務器的入站規則,我只保留22端口,也就是SSH登錄服務器的端口,其它端口都關閉。

 

 

將紅色方框內的端口全部關閉。然后重啟了一下服務器。

服務器啟動之后,再次查看監控信息,發現CPU利用率和硬盤讀取量都降了下來。

 

 

 

 

利用SSH可以正常登錄服務器了,登錄到服務器之后,先把防火牆打開。

systemctl start firewalld

我的服務器操作系統是Centos7,如果是Centos6,防火牆命令應該是iptables。

然后逐步放開服務器的端口,首先在騰訊雲管理頁面的安全組中,將mysql的3306端口放開,然后進入服務器,防火牆也對3306端口進行開放。

firewall-cmd --zone=public --add-port=80/tcp –permanent

開放3306端口之后,再進行測試mysql的登錄,利用mysql工具,可以正常訪問數據庫,說明我們的設置生效了。

 

 

同樣的方法,我們先在安全組中開放端口,再到centos中設置防火牆開放端口,然后是測試端口是否可以使用。依次開放web端口80,443,8080,redis端口,6379等。

3 結語

經過依次開放端口,並進行測試,最終實現了服務器的正常登錄,mysql的正常使用,徹底解決了cpu利用率過高導致的SSH不能登錄的問題。問題出現的原因,可能是centos一開始沒有開啟防火牆,有一些網絡攻擊,頻繁訪問服務器。對於公網來說,開啟防火牆,避免網絡攻擊,還是很有必要。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM