【问题标题】:Are there any services which can monitor my website, if site is down, reboot my ec2 instance?是否有任何服务可以监控我的网站,如果网站关闭,重启我的 ec2 实例?
【发布时间】:2012-06-21 03:24:18
【问题描述】:

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

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

StartServers       1
MinSpareServers    1
MaxSpareServers    5
MaxClients        10
MaxRequestsPerChild  4000

【问题讨论】:

    标签: mysql wordpress apache amazon-ec2 monitoring


    【解决方案1】:

    也许您可以创建一个 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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-20
          • 2010-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-04
          相关资源
          最近更新 更多