2011-06-20 89 views
0

可能重复自动重新启动ColdFusion服务:
How to restart Coldfusion Application Server when application is timeout?当它的股价下跌

目前,我有导致服务器问题的ColdFusion应用程序。在1-2天后,服务不会响应,直到手动重启完成。 我知道我必须找出脚本中出现了什么问题,并花了数周的时间和时间。 但是暂挂我会做一个脚本,自动重新启动ColdFusion服务,如果它被窃听。

我对批处理脚本等方面的知识还不多。但我想测试应该是对.cfm的请求,并且响应将会一直服务到超时。 ?

有没有人遇到过这样的脚本?

配置:赢2K8服务器R2 - ColdFusion的9(.0.0)

谢谢你在这里

回答

1

两件事情

  1. 真正的办法是解决这个问题,你可以这样做与Fusion Reactor - http://www.fusion-reactor.com/fr/它将帮助您监视并重新启动并根据需要自行修复。

  2. 您可以创建一个批处理文件,并在Windows中创建一个运行它的计划任务。 使用net start命令/ net stop命令

净停止 “Macromedia公司的JRun CFusion服务器”

NET START “Macromedia公司的JRun CFusion服务器”

思想这可能并不总是工作,所以我有一个批处理文件:

c:\ JRun4 \ uninstall \ KillJRun.exe

NET START “Macromedia公司的JRun CFusion服务器”

这对我的作品。

+0

好的谢谢。我知道聚变反应堆,就像我说的,我目前正在寻找一个更好的解决方案,但我想睡得很好^^好吧,我已经看到了这些命令,但是,有没有办法只有在CF没有响应时才启动它? – LarZuK

0

没有。当您的CF服务/服务器挂起时,它不能自动重启。唯一的一种方法是通过Windows时间表重新启动。

1

最好的办法是使用Pingdom或其他服务器监控工具。当服务器关闭时(响应503错误,服务不可用),您可以让Pingdom向调用批处理文件的服务器上的PHP脚本发送响应。我不确定Pingdom是否支持ping另一台服务器,但您可以将Pingdom电子邮件发送到收件箱,PHP可以每隔几分钟检查一次。

这可能最终会比找出你的脚本出了什么问题更多的工作。

编辑:你可能想看看this question。这只会在服务停止时起作用,而通常当脚本崩溃时,它将挂起。如果你运行的脚本崩溃了服务器,然后看服务,如果它说停止,那么这可能适合你。

我要检查的另一件事是JVM内存。通常情况下,崩溃是由于处理来自文件或数据库的大量数据造成的,JVM没有内存来执行此操作。

+0

确保你锁定你从Pingdom调用的PHP脚本或某人可能导致你一些真正的问题。 –

+0

是的。为此,您的选项是检查Pingdom服务器列表中的IP请求,或让Pingdom使用某种密码执行POST请求。 –

0

当服务挂起时,您还可以使用Nagios +插件来启动重启脚本。但按照以前的建议&找出问题所在是你最好的选择。