把Tomcat注册为windows服务

配置环境变量

JAVA_HOME=D:\javahtml

CLASSPATH=.;%JAVA_HOME%\lib;java

PATH=%JAVA_HOME%\bin;apache

提示:通常jre默认在jdk目录下%JAVA_HOME%\jre。若是JRE不在jdk目录下,须要配置一个JRE_HOME指向具体的jre路径。 windows

注册windows服务

注意:因为xp以后的windows改变了权限策略,注册windows服务须要管理员权限,必须以管理员权限打开cmd窗口,才能注册成功。tomcat

例如在win7系统下,进入目录C:/windows/system32/工具

 

  1. 在cmd窗口执行命令:service.bat install

 

 

  1. 打开服务管理工具,能够看到已经注册的服务;

服务启停

命令行方式

以管理员权限打开cmd窗口 spa

服务名称为:tomcat7 命令行

启动服务:net start tomcat7 3d

中止服务:net stop tomcat7 htm

在服务管理工具中启动服务

设置为开机启动

右击服务,选择属性,把服务启动类型改成自动;

经过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/