`
julylin
  • 浏览: 49741 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

为解压版Tomcat创建一个windows服务(修正版)

    博客分类:
  • J2EE
 
阅读更多
转自http://haolll230sss.blog.163.com/blog/static/578106722008388240343/
    感谢原作者。


一.配置环境变量

1.把JDK安装到C:\Program Files\Java\jdk1.6.0,下载免安装版tomcat6.0(Tomcat Zip)压缩包,把Tomcat解压放到C:\Tomcat6.0下


2.添加系统环境变量:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0

CLASSPATH=.;%JAVA_HOME%\lib

TOMCAT_HOME=C:\Tomcat6.0

修改系统环境变量PATH,在它的最前面加入:

%JAVA_HOME%\bin;

注:放在最前面是预防有其它的JDK或JRE路径占先,如你装了Oracle就会有一个低版本的JRE。



二 配置Tomcat启动环境(注意,如果已经象前面那样设置过了,这里就可以跳过了)

1、修改startup.bat文件:

在第一行前面加入如下两行--

SET JAVA_HOME=JDK目录

SET CATALINA_HOME=前面解压后Tomcat的目录

片段如下:

@echo off

SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0

SET CATALINA_HOME=C:\Tomcat6.0

rem Licensed to the Apache Software Foundation (ASF) under one or more

rem contributor license agreements.  See the NOTICE file distributed with

rem this work for additional information regarding copyright ownership.

rem The ASF licenses this file to You under the Apache License, Version 2.0

rem (the "License"); you may not use this file except in compliance with

2.如果需要使用shutdown.bat关闭服务器的话,也按照上面加入两行。

片段如下:

@echo off

SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0

SET CATALINA_HOME=C:\Tomcat6.0

rem Licensed to the Apache Software Foundation (ASF) under one or more

rem contributor license agreements.  See the NOTICE file distributed with

rem this work for additional information regarding copyright ownership.

rem The ASF licenses this file to You under the Apache License, Version 2.0

rem (the "License"); you may not use this file except in compliance with

rem the License.  You may obtain a copy of the License at

rem

3、这样,运行startup.bat就可以运行服务器,运行shutdown.bat就可以关闭服务器了。

但是这样运行startup.bat后不能把startup.bat弹出的窗口关掉,否则就退出了tomcat6.0服务,所以为了使用方便我们可以考虑把tomcat6.0加入系统的服务中去

三 将Tomcat加入服务

//说明:如果你已经按照第一步(即一.配置环境变量),且运行startup.bat和shutdown.bat能成功那么下面第一就不要做了,否则会出现错误

1、修改bin目录中的service.bat:

REM 添加下面的一行

set CATALINA_HOME=%cd%

如果从来没有安装过Tomcat,或者保证Services.msc启动服务管理器检查没有Apache Tomcat系统服务,到此你就可以转到第二步了。否则继续往下走--

//第一步一般不要了,否则可能出错!!

REM 按照描述修改下面的几行

set SERVICE_NAME=Tomcat6

REM 上面一行,Tomcat6修改成你需要的服务名,这个将是一后使用net start/stop来操作的服务名称。

//注意这一步很重要,如果你的系统现在有安装tomcat6.0,那么你一定要把"tomcat6"改成其它名字,而且不要以"tomcat6"为前缀,否则会由于你系统已经存在服务"tomcat6"而启动失败,可以把名字改为:"你的名字"+Tomcat6形式

set PR_DISPLAYNAME=Apache Tomcat

REM 上面一行,Apache Tomcat改为你需要的显示服务名,这个将显示在服务管理器中。

//注意这一步也是很重要,如果你的系统现在有安装tomcat6.0,那么你一定要不"Apache tomcat"改成其它名字,而且不要以"Apache tomcat"为前缀,否则会由于你系统已经存在服务"Apache tomcat"而启动失败,可以把名字改为:"你的名字"+apache形式

set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat

REM 这一行改不改无所谓,是服务的描述,根据自己的喜好决定吧。


我的tomcat6.0中bin下的service.bat(下载后没有经过其它的配置修改,保持下载时的状态)修改后如下:贴出来如下

@echo off

rem Licensed to the Apache Software Foundation (ASF) under one or more

rem contributor license agreements.  See the NOTICE file distributed with

rem this work for additional information regarding copyright ownership.

rem The ASF licenses this file to You under the Apache License, Version 2.0

rem (the "License"); you may not use this file except in compliance with

rem the License.  You may obtain a copy of the License at

rem

rem     http://www.apache.org/licenses/LICENSE-2.0

rem

rem Unless required by applicable law or agreed to in writing, software

rem distributed under the License is distributed on an "AS IS" BASIS,

rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

rem See the License for the specific language governing permissions and

rem limitations under the License.


if "%OS%" == "Windows_NT" setlocal

rem ---------------------------------------------------------------------------

rem NT Service Install/Uninstall script

rem

rem Options

rem install                Install the service using Tomcat6 as service name.

rem                        Service is installed using default settings.

rem remove                 Remove the service from the System.

rem

rem name        (optional) If the second argument is present it is considered

rem                        to be new service name                                          

rem

rem $Id: service.bat 600659 2007-12-03 20:15:09Z jim $

rem ---------------------------------------------------------------------------


rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%

if not "%CATALINA_HOME%" == "" goto gotHome

set CATALINA_HOME=%cd%

if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome

rem CD to the upper dir

cd ..

set CATALINA_HOME=%cd%

:gotHome

if exist "%CATALINA_HOME%\bin\tomcat6.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\tomcat6.exe


rem Set default Service name

set SERVICE_NAME=haotomcat6//原来为 set SERVICE_NAME=Tomcat6,这里hao是我的名字

set PR_DISPLAYNAME=hao apache//原来为 set PR_DISPLAYNAME=Apache Tomcat



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%


rem Use the environment variables as an example

rem Each command line option is prefixed with PR_


set PR_DESCRIPTION=Apache Tomcat Server - http://tomcat.apache.org/

set PR_INSTALL=%EXECUTABLE%

set PR_LOGPATH=%CATALINA_BASE%\logs

set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar

rem Set the server jvm from JAVA_HOME

set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll

if exist "%PR_JVM%" goto foundJvm

rem Set the client jvm from JAVA_HOME

set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll

if exist "%PR_JVM%" goto foundJvm

set PR_JVM=auto

:foundJvm

echo Using JVM:              %PR_JVM%

"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop

if not errorlevel 1 goto installed

echo Failed installing '%SERVICE_NAME%' service

goto end

:installed

rem Clear the environment variables. They are not needed any more.

set PR_DISPLAYNAME=

set PR_DESCRIPTION=

set PR_INSTALL=

set PR_LOGPATH=

set PR_CLASSPATH=

set PR_JVM=

rem Set extra parameters

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm

rem More extra parameters

set PR_LOGPATH=%CATALINA_BASE%\logs

set PR_STDOUTPUT=auto

set PR_STDERROR=auto

"%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

echo The service '%SERVICE_NAME%' has been installed.


:end

cd %CURRENT_DIR%

//service.bat中要修改的两处地方已经在上面要红色标出来了

2、运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行。

service.bat install

程序提示:The service 'Tomcat5(或者你修改一后的SERVICE_NAME)' has been installed

说明服务Tomcat已经被安装成功。

顺便说一下,运行service.bat remove可以移除服务。

3、到这里,服务添加成功,控制台下运行services.msc,可以看到添加的服务(在右边可以找到PR_DISPLAYNAME指定的服务名"hao apache"),默认状态下该服务是手动运行的,在他的属性中,可以将启动类型更改为“自动”,以后机器启动以后Tomcat就在后台启动了。



四 控制台控制服务的命令

启动服务

net Start 服务名(此服务名为set SERVICE_NAME后面指定的服务名,或者为set PR_DISPLAYNAME指定的,下面一样)

关闭服务

net stop 服务名

注:

1 此服务名可以是SERVICE_NAME,也可以是PR_DISPLAYNAME;

2 如果服务名中包含空格或者中文,请将服务名用半角双引号包含起来。
分享到:
评论

相关推荐

    apache-tomcat-6.0.20-孙天成修正版

    Apache Tomcat 是一个开源软件,用Java语言编写,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。它是一个小型的、高效的Web服务器和Servlet容器,由Apache软件基金会维护。这个"apache-tomcat-6.0.20-孙...

    tomcat6.0.18

    文件名“apache-tomcat-6.0.18.exe”表明这是一个Windows平台下的安装程序,用户可以通过运行这个exe文件来在Windows系统上安装Tomcat 6.0.18。安装过程中,用户可以选择安装路径、配置端口号、设置环境变量等,以...

    tomcat资源

    【标题】"Tomcat资源"涉及的是Apache Tomcat服务器的7.0版本,这是一个开源的Java Servlet容器,用于部署和运行Java Web应用程序。Tomcat是Java EE(现在称为Jakarta EE)规范的一部分,特别是Servlet、JSP和EL...

    MS12-020利用工具 含bug修正版.rar

    "Chinese Shit.py"和"Chinese Shit Silic Group修正版.py"可能是针对该漏洞的原始exploit代码及其改进版本,而"rdpclient.rar"可能包含一个与远程桌面协议(RDP)相关的客户端工具,尽管没有直接指明与MS12-020的...

    windows平台上cognos开发最简安装(cognos服务器,Sample安装还原和Framework Manager安装)

    在安装的最后阶段,会有一个选项让用户选择非英文产品的语言支持包,对于大多数用户而言,直接点击确定即可。 2. **服务器配置**:配置分为几个部分,包括web服务器的选择、内容库的配置和权限管理。 - **Web...

    MyEclipse.6.Java.开发中文教程(1-10章)

    在本章节中,作者详细介绍了构建一个完整的Java开发环境所需的各个步骤与注意事项,旨在为初学者提供一个全面且易懂的指导。 ##### 1.1 系统需求 - **操作系统**:支持Windows、Linux或Mac OS等主流操作系统。 - *...

    tzddos MS12-020利用工具

    【tzddos MS12-020利用工具】是一个针对微软系统安全更新MS12-020的漏洞利用工具,它包含了对已知错误的修复,因此被称为"含bug修正版"。这个工具主要关注的是网络安全领域,特别是分布式拒绝服务(DDoS)攻击。在IT...

    MyEclipse 6 java EE 开发中文手册

    创建一个新的Java类。 3. 编写简单的`main`方法。 4. 运行程序,观察输出结果。 - **注意事项**: - 确保项目的构建路径设置正确,包含所需的类库。 - 使用正确的包结构组织代码。 ### 4. Eclipse基础概念与...

    深入浅出Hibernate源码

    本下载包与书籍的实战篇紧密结合. 下载包中的程序是一个简明的示例论坛程序,按照循序渐进的原则,分为不同的步骤: 步骤1: ... * 修正了和webwork相关的一个中文bug v1.0 (2005.4.20) * 初始版本

    SpagoBI开源BI平台_安装配置及使用说明

    SpagoBI是一个开源的商业智能(BI)平台,由意大利CNR(意大利国家研究委员会)下属的Istituto di Scienza e Tecnologie dell'Informazione开发。SpagoBI提供了丰富的数据分析工具,支持多种类型的报告、仪表盘、...

    MyEclipse6的使用

    - 将 MyEclipse 的 ALL in ONE 版本解压到一个单独的文件夹中,即可实现绿色版。 **1.7.3 运行** - 打开 Eclipse,会自动加载 MyEclipse 插件。 #### 三、开发第一个 Java 应用程序 **2.1 介绍** 本章节主要...

    MyEclipse使用手册.pdf

    #### 三、开发第一个Java应用程序 - **创建Java项目**:在MyEclipse中新建Java项目。 - **编写Java代码**:在新建的Java项目中编写简单的Java代码。 - **编译与运行**:利用MyEclipse内置的编译器编译代码,并运行...

    QC9.0安装图解详细说明文档

    QC9.0,全称为Quality Center 9.0,是HP(现已被Micro Focus收购)推出的一款强大的软件质量管理和缺陷跟踪工具。它为企业提供了一站式的测试管理解决方案,包括需求管理、测试计划、测试执行、缺陷追踪等功能。本篇...

    myeclipse6使用教程

    #### 三、开发第一个 Java 应用程序 **2.1 介绍** - 通过简单的示例介绍如何使用 MyEclipse 创建、编译和运行 Java 程序。 **2.2 手工编写、编译并运行 Java 程序** - 使用文本编辑器编写 Java 代码,然后通过...

Global site tag (gtag.js) - Google Analytics