替tomcat开通服务
为解压版tomcat6开通服务,实际上就是运行tomcat安装目录下的bin目录下的service.bat
下面详细讲解一下service.bat文件:
编辑service.bat文件。
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
添加下面一句指定tomcat的安装目录。
set CATALINA_HOME=D:\Program Files\Apache-tomcat 6.0.18
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%cd%
为了在“进程”中跟其他安装的tomcat区分名字,修改tomcat6.exe 的文件名。这里我修改成tomcat6018.exe。
if exist "%CATALINA_HOME%\bin\tomcat6018.exe" goto okHome
rem CD to the upper dir
cd ..
set CATALINA_HOME=%cd%
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat6018.exe" goto okHome
echo The tomcat.exe was not found...
echo The CATALINA_HOME environment variable is not defined correctly.
echo This environment variable is needed to run this program
goto end
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto okHome
echo The JAVA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:okHome
if not "%CATALINA_BASE%" == "" goto gotBase
set CATALINA_BASE=%CATALINA_HOME%
:gotBase
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6018.exe
rem Set default Service name
创建服务后的服务名称,这个名称必须唯一。默认的为Tomcat6
set SERVICE_NAME=Tomcat6018
创建服务后的服务显示名称,这个名称可以与其他服务显示名称相同。默认为Apache Tomcat 6
set PR_DISPLAYNAME=Apache Tomcat 6018
............ (中间省略)
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
如果你需要把服务设置为开机自启动,可以加上下面这句(位置为文件倒数第三行前面)
sc config %SERVICE_NAME% start= auto
echo The service '%SERVICE_NAME%' has been installed.
:end
cd %CURRENT_DIR%
保存文件。
运行"cmd"命令,进入DOS界面对service.bat文件执行install命令,若出现以下界面说明服务安装成功。
运行"services.msc"命令打开服务窗口,发现的确多了一个"Apache Tomcat 6018"的服务,右键查看它的属性,服务名称与显示名称都与之前在service.bat文件的设置一致。
然后,修改tomcat6w.exe的文件名,文件名必须和服务名称一样,如果服务名称与服务执行文件的名称一样,可以改名为服务名称后加"w"。像本例,服务执行文件是tomcat6018.exe,服务名称是Tomcat6018,为了防止出现文件重名冲突,因此无法将tomcat6w.exe改名为Tomcat6018.exe,只能改名为tomcat6018w.exe。
现在,可以通过启动这个服务来启动tomcat,双击tomcat6018w.exe打开的界面也可以启动这个服务,启动这个服务实际上就是启动tomcat6018.exe。如果不想用服务方式启动tomcat,可以双击tomcat6018.exe或startup.bat启动。
tomcat6018.exe与startup.bat的区别:
它们两个都可以启动tomcat,其中一个区别前面已经说过,tomcat6018.exe必须安装了服务才能启动,而startup.bat不需要。另外一个区别是它们启动所使用的JAVA环境配置是分开的。
tomcat6018.exe启动所使用JAVA配置与服务启动所使用的JAVA配置一样,都是通过tomcat6018w.exe的JAVA面板配置。(可以在创建服务前修改service.bat文件的JAVA_HOME变量来指定初始的JVM,该JAVA面板的所有配置项都是从service.bat文件初始化的。)