我有一种感觉,我错过了明显的,但没有成功的man [curl|wget]或谷歌(“http”使如此糟糕的搜索词)。我正在寻找一个快速和肮脏的修复我们的网络服务器之一,经常失败,返回状态码500与错误消息。一旦发生这种情况,就需要重新启动。
由于根本原因似乎很难找到,我们的目标是快速修复,希望这将足以弥补时间,直到我们真正修复它(服务不需要高可用性)
建议的解决方案是创建一个每5分钟运行一次的cron作业,检查http://localhost:8080/。如果返回状态码为500,则web服务器将重新启动。服务器将在一分钟内重新启动,因此不需要检查已经在运行的重新启动。
所讨论的服务器是ubuntu 8.04最小安装,只安装了足够运行当前所需的包。在bash中执行该任务没有硬性要求,但我希望它能在这样一个最小的环境中运行,而不需要安装任何解释器。
(我非常熟悉脚本,命令/选项将http状态代码分配给一个环境变量就足够了——这是我一直在寻找的,但没有找到。)