早期使用Tomcat的开发者都知道,运行Tomcat服务需要执行其bin目录的startup.bat,在Windows系统平台下,只要服务器重启,就要启动运行该文件,特别的麻烦,最近专门就这个问题,查阅了许多文档,终于找到一个办法,将其配置成Windows服务来运行,这样网管管理服务器就再也不需要兼管应用的启动了。
我使用的是Tomcat4.0.3,在Bin目录有一个tomcat.exe文件,我就是用它来配置服务的。
运行tomcat.exe /?,会出现如下图所示:
这说明该exe文件正式配置服务所用的。下面我提供一份用过的配置过程,供参考:
新建一个bat文件,setEnv.bat,内容如下:
set CLASSPATH=%CLASSPATH%;%1
再新建一个bat文件,setPath.bat,内容如下:
set jdk_home=F:\project\JDK140
set tomcat_home=F:\project\TOMCAT403
set applib=F:\project\webroot\WEB-INF\lib
set appclasses=F:\project\webroot\WEB-INF\classes
set appname=MY_WEB_APPLICATION
注意斜线部分是需要根据实际情况修改的。
再新建一个bat文件,命名install_WEB.bat。如下内容:
@echo off
set jdk_home=
set tomcat_home=
set applib=
set appclasses=
set classpath=
set appname=
call %CD%\setPath.cmd
set classpath=.;%classpath%;
set classpath=%appclasses%;%classpath%;
for %%1 in (%applib%\*.jar) do call %CD%\setEnv.cmd %%1
REM set huan jin bian liang
set classpath=%classpath%;%tomcat_home%\bin\bootstrap.jar
set classpath=%classpath%;%tomcat_home%\common\lib\servlet.jar
set classpath=%classpath%;%jdk_home%\lib\tools.jar
%tomcat_home%\bin\tomcat.exe -install %appname% %jdk_home%\jre\bin\server\jvm.dll -Djava.class.path=%classpath% -Dcatalina.home=%tomcat_home% -start org.apache.catalina.startup.Bootstrap -params start -stop org.apache.catalina.startup.Bootstrap -params stop -out %tomcat_home%\logs\stdout.log -err %tomcat_home%\logs\stderr.log
net start %appname%
goto eof
:err
@echo --------
@echo Usage: %0 jdk_home tomcat_home
@echo Example: %0 c:\progra~1\jdk c:\progra~1\tomcat
@echo Note: do not include spaces in directory paths
@echo --------
:eof
再新建一个bat文件,命名uninstall_WEB.bat,内容如下:
@echo off
set jdk_home=
set tomcat_home=
set applib=
set appname=
call %CD%\setPath.cmd
net stop "%appname%"
%tomcat_home%\bin\tomcat.exe -uninstall "%appname%"
再新建一个bat文件,命名restart_WEB.bat,内容如下:
@echo off
set jdk_home=
set tomcat_home=
set applib=
set appname=
call %CD%\setPath.cmd
net stop "%appname%"
net start "%appname%"
请注意,还需要修改Tomcat的配置文件,主要是conf里面的server.xml,我这里提供一个参考的。
<?xml version="1.0" encoding="UTF-8"?>
<!-- must set port, and the Server port must large than Connector port 1 -->
<Server debug="0" port="8081" shutdown="SHUTDOWN">
<Service name="WEB_8080">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">
</Connector>
<Engine reloadable="true" defaultHost="localhost" name="WEB_8080">
<Host name="localhost">
<Context path="" docBase="F:/product/www/" debug="0" privileged="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="mjs_log." suffix=".txt" timestamp="true"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
以上就是配置服务的过程,配好之后,运行install_WEB.bat即可启动服务。快试试吧。