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

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

1 問題再現web

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

 

 

讀取硬盤的流量很大。sql

 

 

和上次出現的問題同樣。因而想到仍是利用上次的方法,在騰訊雲管理頁面,服務器實例的右側利用VNC方式登陸,裏面也有提示kill進程,而後根據提示操做,使用kill -9 xxx命令,關閉xxx進程。因爲cpu利用率太高,操做起來很卡,關閉進程以後,又有另外的進程致使內存溢出,繼續提示kill進程,再繼續利用kill -9 xxx命令,提示沒有xxx進程,說明這個方法失效了,只能另想辦法。數據庫

2 問題分析及解決centos

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

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

 

 

將紅色方框內的端口所有關閉。而後重啓了一下服務器。網絡

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

 

 

 

 

利用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一開始沒有開啓防火牆,有一些網絡攻擊,頻繁訪問服務器。對於公網來講,開啓防火牆,避免網絡攻擊,仍是頗有必要。

相關文章
相關標籤/搜索