再谈腾讯云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一开始没有开启防火墙,有一些网络攻击,频繁访问服务器。对于公网来说,开启防火墙,避免网络攻击,还是很有必要。

猜你喜欢

转载自www.cnblogs.com/coodream2009/p/10721307.html