前一阵子部署过一个项目,由于没有经验,我只是双击tomcat.exe,看到输出“Service startup in *** ms”后,就以为部署成功了。后来服务迁移到IDC的服务器,只能远程登陆了,并且还是多用户共享的。这时,我发现之前部署的项目总是当掉。开始我以为是项目运行时出错,所以崩掉了。我就查看日志文件,可是什么错误也没有。后来我想到是不是我长时间不登陆,被其他用户踢掉了,导致tomcat.exe停止。之后领导发现了我部署项目的方式不对,Tomcat服务应该在windows服务中启动才对,这样才不会发生上诉问题。
领导给了我一个tomcat6的免安装版,让我重新部署。解压tomcat6.zip之后,我发现tomcat6.exe一闪而过,根本不能启动,而startup.bat却可以启动,浏览器也可以看到tomcat猫。我就google了一下,网上说是我没有把tomcat注册到windows的服务里。原来免安装版的tomcat不是自动把tomcat注册到windows服务里。
把tomcat注册到windows的服务里:
成功之后,控制台显示:
查看windows服务是否注册了tomcat:
在windows服务中解除tomcat注册:
如果出现下图所示内容,也需要解除tomcat注册:
按照上诉方法,tomcat6.exe还是一闪而过,注册到windows服务里的tomcat也是无法启动,我开始纠结了.....
最后我想到是不是tomcat和jdk的版本不兼容啊,我的tomcat6是64位的,而jdk是32位的。我又重新安装了64位的jdk,问题解决!
如果问题的原因不是版本不兼容的问题,那就有可能是tomcat在引用JAVA_HOME的路径时,有个变态的(x86)吧!