0

我在 EC2 上有一个微型实例,我在上面部署了一个 wordpress 网站。但是该站点大约每两天就会关闭一次,因为 mysql 被杀死,因此访问者会收到“500 Internal Server Error”。我需要登录 AWS,然后重新启动实例。我知道我应该优化 apache 配置,但重启实例将是一个简单的解决方案。我正在使用可以监控我的网站的服务,当网站关闭时,他们会向我发送一封电子邮件,但他们无法重新启动 EC2 实例。

我像下面这样配置apache,它现在可以工作了:

StartServers       1
MinSpareServers    1
MaxSpareServers    5
MaxClients        10
MaxRequestsPerChild  4000
4

3 回答 3

0

如果您正在寻找任何开源工具的解决方案,您可以随时尝试 Nagios。哪个会监视和重新启动失败的服务,但需要进行一些配置工作。可以参考Nagios 站点 Nagios 配置

于 2012-06-22T04:28:29.027 回答
0

也许您可以创建一个 bash,并将其放在 /etc/cron.hourly 中以每小时运行一次。

这是bash的内容。

#!/bin/bash
#Replace MYSQL_PORT with the real port number.
netstat -na | grep LISTEN | grep MYSQL_PORT
if [ $? != 0 ]; then
  reboot
fi

不要忘记让它像下面一样可执行。

chmod 0755 /etc/cron.hourly/monitor_mysql.sh

此外,您可以通过在 /etc/cron.d/ 中创建一个文件来使其更频繁地检查,如下所示每 5 分钟检查一次。

# vi /etc/cron.d/monitor_mysql
*/5 * * * *     root /path/to/monitor_mysql.sh
于 2012-06-21T03:44:49.130 回答
0

如果您需要每隔几天重新启动一次,就会出现问题。我不认为这是您的 Apache 配置,但许多其他事情可能是错误的。

您可以使用重新启动脚本,但您还应该监控您的正常运行时间(使用类似www.downnotifier.com的服务),如果您没有达到 99.7% 的正常运行时间,您可能会考虑重新安装。

于 2012-06-29T18:58:21.810 回答