`
sunzhiqiang1984
  • 浏览: 126145 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

Tomcat 在Windows Server 2003下自动关闭(自动宕机)

阅读更多

     公司的JAVA WEB应用放在了一台PC Server上供内网测试,项目由我来发布。PC Server安装的系统是Windows Server 2003,内存DDR2 800 2G,CPU:Intel E4500。在这台机器上我部署了两个项目,服务器选择了Apache Tomcat 5.5版本的,JDK 1.6。无意中发现两个web应用运行一段时间就自动关闭了。再重新启动Tomcat还是一样,运行一段时间就自动关闭,非常的诧异。先看了看Catalina下面的日志,更诧异的是日志里居然没有任何异常信息,让我一头雾水。上网查询,看遍了Tomcat自动关闭的几个原因:

 

  1,并发用户数目过大,也会导致tomcat自动停止服务。   
  2,系统本身的网络负载平衡没有做好,导致tomcat自动停止服务;   
  3,程序迭代不合理也是一个原因;   
  4,数据库连接未关闭,导致资源损耗过重,会引起服务停止;   
  5,程序严重错误,引起tomcat停止服务。

     各个检查,发现根本与我的情况不同。又有人说是JVM的堆栈内存、永久保护区域内存设置小了,我又不断的调试,最后还是难逃自动关闭的噩梦。但偶然间发现部署在安装版(exe)的Tomcat下面的web应用就不会挂掉,眼前一亮,难不成是负载不平衡导致的服务器挂掉???马上下载Apache+JK,与两个Tomcat一起整合,结果Apache依然坚挺,可tomcat却难逃厄运。

 

     就在勉强要自己接受眼前这种现实的情况下,突然注意到和Tomcat一起运行的IE浏览器也一同挂掉,突然想起了可能的原因。因为我是用自己机器的远程连接控制服务器上Web的发布,所以每次我都用管理员的账号登录该机器,但自己曾经对这台机器做过设置,再控制者不再使用服务器时会自动让控制者离开远程控制的控制台,这样允许别人控制服务器。这个空闲等待时间是10分钟。也就是说如果控制者10分钟后不再使用服务器,Server系统会自动踢出该用户,同时也会清空他的配置信息,包括他的会话信息等。也就是说,我用管理员的权限登录Server,部署完项目后,只要一直使用,Tomcat就不会自动关闭,如果我关闭远程连接,系统会在一段时间内结束掉我启用的任何进程,同时也关闭了我开启的两个Tomcat。

 

     原因找到了就开始想解决的办法。问了问网管,网管说你可以用console的方式远程登录,这样的效果跟直面操作该机器是一样的,试了试,果真如此。现在系统在服务器上稳定运行,再没出现过自动关闭的情况。至于安装版的Tomcat为何不挂掉,是因为Tomcat起在了服务里面,不会影响到它。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics