上篇文章谈到腾讯云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一开始没有开启防火墙,有一些网络攻击,频繁访问服务器。对于公网来讲,开启防火墙,避免网络攻击,仍是颇有必要。