在Apache Tomcat的官方网站下载的免安装版tomcat,要把其注册为系统服务,并自启动。
1. 首先检查系统是不是之前有安装过之前的版本的tomcat,如果有的话,请将其删除,删除的办法是,到windows的控制面板—>计算机管理—>服务
在服务列表里查看有没有Apache 或tomcat相关的服务,
如果有的话,请在上面点鼠标右键—>属性,记下此服务的名称,假如为Tomcat6
此时进入windows的命令行,开始菜单—>运行—>cmd
在命令行里输入
sc delete Tomcat6
此时就能删除。上面一行命令行的Tomcat6就是系统服务里的属性名称
2. 注册新服务
在命令行里进入到下载的免安装版的tomcat目录下的bin目录
在此bin目录下运行
service.bat install
此时就能把免安装版的tomcat注册为系统服务,
你再到windows的控制面板—>计算机管理—>服务,在服务列表里就能看到你刚新加的服务
其实上面说了这么多,原理很简单,下面把这个基本原理讲一下,
Tomcat/bin目录下自带了一个service.bat文件,我们执行的就是这个bat文件,
打开service.bat文件,你会发现以下代码:
set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe" rem Set default Service name set SERVICE_NAME=Tomcat6 set PR_DISPLAYNAME=Apache Tomcat 6 if "%1" == "" goto displayUsage if "%2" == "" goto setServiceName set SERVICE_NAME=%2 set PR_DISPLAYNAME=Apache Tomcat %2 :setServiceName if %1 == install goto doInstall if %1 == remove goto doRemove if %1 == uninstall goto doRemove echo Unknown parameter "%1" :displayUsage echo. echo Usage: service.bat install/remove [service_name] goto end :doRemove rem Remove the service "%EXECUTABLE%" //DS//%SERVICE_NAME% echo The service '%SERVICE_NAME%' has been removed goto end :doInstall rem Install the service echo Installing the service '%SERVICE_NAME%' ... echo Using CATALINA_HOME: "%CATALINA_HOME%" echo Using CATALINA_BASE: "%CATALINA_BASE%" echo Using JAVA_HOME: "%JAVA_HOME%"
1.代码1:
set SERVICE_NAME=Tomcat6 set PR_DISPLAYNAME=Apache Tomcat 6
如果把tomcat设成服务成功后,就要会系统服务里面看到,服务名就是在这里设的
你如果改一下服务名的话,可以把上面的SERVICE_NAME,PR_DISPLAYNAME的值换掉。
或者运行时 service.bat install tomcat 其中tomcat会替换默认的PR_DISPLAYNAME
2.代码2:
:doRemove和:doInstall这段代码就相当于这个bat文件有两个方法,一个叫doRemove,一个doInstall,看名字很好理解,doInstall就表示安装服务,doRemove表示删除服务
3.代码3:
if %1 == install goto doInstall if %1 == remove goto doRemove if %1 == uninstall goto doRemove
但是我有在cmd命令行里却用的是:
service.bat install
是如何映射的呢?
主要是通过如下代码来实现通过上面可以看到,%1就表示我们在service.bat install输入的第一个参数就是install,也就是%1=install,发现if %1 == install goto doInstall
于是就执行doInstall方法,安装服务到系统,
同样删除服务,一个最简单的方法就是:
service.bat remove
或
service.bat uninstall