我在EC2上有一个微型实例,我在其上部署了一个wordpress网站。但由于mysql被杀,该网站将每两天关闭一次,因此访问者会收到“500内部服务器错误”。 我需要登录AWS,然后重启实例。我知道我应该优化apache配置,但重启实例将是一个简单的解决方案。 我正在使用可以监控我的网站的服务,当网站关闭时,他们会向我发送电子邮件,但他们无法重启EC2实例。
我如下配置apache,现在可以使用:
StartServers 1
MinSpareServers 1
MaxSpareServers 5
MaxClients 10
MaxRequestsPerChild 4000
答案 0 :(得分: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
答案 1 :(得分:0)
如果您正在寻找使用任何开源工具的解决方案,您可以随时尝试Nagios。哪些是监视以及重新启动失败的服务,但需要一些配置工作。您可以参考Nagios Site Nagios Configuration
答案 2 :(得分:0)
如果您需要每隔几天重新启动,则会出现问题。我不认为这是你的Apache配置,但很多其他事情都可能是错误的。
您可以使用重启脚本,但您还应该监控正常运行时间(使用www.downnotifier.com之类的服务)如果您没有达到99.7%的正常运行时间,您可能会考虑重新安装。