把Tomcat注册为windows服务
配置环境变量
JAVA_HOME=D:\java
CLASSPATH=.;%JAVA_HOME%\lib;
PATH=%JAVA_HOME%\bin;
提示:一般jre默认在jdk目录下%JAVA_HOME%\jre。如果JRE不在jdk目录下,需要配置一个JRE_HOME指向具体的jre路径。
注册windows服务
注意:由于xp之后的windows改变了权限策略,注册windows服务需要管理员权限,必须以管理员权限打开cmd窗口,才能注册成功。
例如在win7系统下,进入目录C:/windows/system32/
-
在cmd窗口执行命令:service.bat install
-
打开服务管理工具,可以看到已经注册的服务;
服务启停
命令行方式
以管理员权限打开cmd窗口
服务名称为:tomcat7
启动服务:net start tomcat7
停止服务:net stop tomcat7
在服务管理工具中启动服务
设置为开机启动
右击服务,选择属性,把服务启动类型改为自动;
通过tomcat服务配置工具启动
进入tomcat\bin目录,以管理员权限运行tomcat7w.exe
FAQ:
服务注册失败原因
1)如果是win7,有可能是没有以管理员身份运行cmd窗口
2)也有可能是jdk版本和tomcat不配套,尝试更换jdk后再注册;
2.系统错误109 管道已结束
命令行方式停止报错截图
在服务管理工具中停止服务,报错截图
在网上找了好久,资料很少,调整了停止服务的超时时间,也还是不行。后来在这篇文章(http://blog.sina.com.cn/s/blog_824f62b3010112s3.html)的启发下,给method配置了一个return方法,竟然不报错了。修改方法如下:
Timeout时间最好设置长一点,20秒以上,不然停止服务还是可能报错。如果设置成0,我猜测应该是没有超时时间,也就是最大超时时间,但是实际使用服务管理工具停止服务时,进度条会一直卡着不动,命令行方式也会等很久,然后报"服务没有响应控制功能",不知道为什么。
附录:
service.bat配置参数说明
set SERVICE_NAME=Tomcat7
set PR_DISPLAYNAME=Apache Tomcat 7
set PR_DESCRIPTION=Apache Tomcat 7.0.5 Server - http://tomcat.apache.org/