由于不确定原因而被锁定在服务器之外,远程重启无济于事。该怎么办?

由于不确定原因而被锁定在服务器之外,远程重启无济于事。该怎么办?

我负责为客户管理一个专用网络服务器。他的流量相当大,但在过去 2 个月里,流量越来越频繁地下降。我刚刚完成了性能方面的重大改进(设置了 nginx、varnish、清理了滞留进程等),服务器最近一直运行正常。

现在,正如我所说,我正在修改,所以现在那里的东西还处于半心半意的状态。唯一发生的就是我的 shell 停止对按键做出反应。然后我的客户打来电话。最重要的是,我需要弄清楚发生了什么,而我没有太多的资源。

接下来是有趣的部分:

该服务器运行带有 cPanel 和 WHM 的 CentOS 5.5。

它还具有:Monit 和 Nagios,它们都能够发送电子邮件警报;由 nginx 0.8.54 前端支持的 Apache 2;带有 APC 和 memcached 的 PHP 5;

客户端,我们正在讨论一些非常流行的带有 MySQL5 后端的 WordPress 博客。

思考问题出在 MySQL 上,因为它是唯一一个我没有花 20 个小时进行优化的数据密集型资源。

但是,我无法通过 SSH 连接。访问 Webmin、Nagios、WHM、cPanel、nginx、HTTP 或 HTTP-SSL -没有什么

有什么建议么?

SSH、nginx、Apache 2、MySQL 5、PHP 5、BIND

答案1

从您的描述来看,似乎整个操作系统都因为某种原因崩溃了,而且可能与单个服务(mysql、bind 等)关系不大。最好的开始方法是查看系统恢复时的系统日志(查看 /var/log 目录),并尝试识别崩溃时发生的事件。老实说,这可能是多种不同原因造成的,您需要先掌握这些基本信息。也可能是硬件出现故障,许多帮助诊断此问题的工具都是特定于服务器供应商的。

答案2

如果网站可以访问,但您被锁定在服务器之外(即其他主机仍然可以连接),则可能是 cPanel 的问题cphulk安全守护进程 - 如果您有权访问代理或可以通过其他 IP 地址通过 SSH 连接到该框,请尝试以 root 身份运行以下命令:

root@server # mysql cphulkd
> SELECT * FROM `brutes` WHERE `IP`='1.2.3.4';

1.2.3.4失败的 IP 地址在哪里)

如果 cphulk 将您的 IP 地址认定为潜在的麻烦制造者,您可以cphulkd.brutes相应地删除它。

如果您没有该机器的 root 访问权限(并且您怀疑 cphulk 存在问题,因为服务器似乎仍在处理请求),请让具有 root 访问权限的人通过访问以下 WHM URI 来禁用 cphulk:

/scripts2/doautofixer?autofix=disable_cphulkd

答案3

如果您有控制台访问权限,您可以尝试以单用户模式启动系统。然后禁用启动时启动的所有 Web 和数据库服务,并重新启动。如果系统能够正常启动,您可以开始以受控方式启用服务,观察哪些是问题子项。如果机器无法正常启动,那么可能是时候开始查看硬件问题了。

相关内容