转自:http://wiki.jikexueyuan.com/project/tomcat/windows-service.html

Tomcat8 是一个服务应用,能使 Tomcat 8 以 Windows 服务的形式运行。

Tomcat 监控应用

Tomcat8w 是一个监控与配置 Tomcat 服务的 GUI 应用。

可用的命令行选项为:

                                                        

//ES// 编辑服务配置 这是默认操作。如果没有提供其他选项,则调用它。但是可执行未见被重命名为servicenamew.exe。
//MS// 监控服务 将图标放到系统托盘中。

命令行实参

命令行指令格式为://XX//ServiceName

可用的命令行选项为:

                                   

//TS// 以控制台应用的方式运行服务 默认操作。如果没有其他选项,则调用它。ServiceName 是可执行文件没有后缀 exe 的名称,即 Tomcat8。
//RS// 运行服务 只能被服务管理器调用
//SS// 停止服务  
//US// 更新服务参数  
//IS// 安装服务  
//DS// 删除服务 如果服务运行,则停止服务

命令行形参

每一个命令形参都有一个前缀 --。如果命令行前缀为 ++,则该值会附加到已有选项中。如果环境变量和命令行形参相同,但是前缀是 PR_,则它要优先处理。比如:

set PR_CLASSPATH=xx.jar

它等同于把以下作为命令行形参:

--Classpath=xx.jar

形参名称 默认 描述
--Description - 服务名描述(最大 1024 字符)
--DisplayName 服务名 服务显示名
--Install procrun.exe //RS//ServiceName 安装映像
--Starup manual 服务启动模式有两种:automanual
++DependsOn - 该服务所依赖的一组其他服务。用 #; 字符来分隔依赖服务
++Environment - 利用 键 = 值 形式提供给服务的一组环境变量。用 #; 字符来分隔依赖这些环境变量。如果需要在一个值中使用 #; 字符,那么整个值必须以单引号闭合。
--User - 用于运行可执行文件的用户账户。只用于 StarModejavaexe 这两种值时,并且能使应用作为一种服务,运行在没有 LogonAsService 特权下的账户下。
--Password - 通过 --User 形参设定的用户账户密码。
--JavaHome JAVA_HOME 设定一个与同名环境变量所不同的 JAVA_HOME
--Jvm auto 可以使用 auto(意即从 Windows 注册表中寻找 JVM),或者指定指向 jvm.dll 的完整路径。可以在此使用环境变量扩展。
++JvmOptions -Xrs 传入 JVM 的一组选项,格式为 -D-X。通过#; 字符来分隔依赖这些选项(不能用于 exe 模式)。
--Classpath - 设定 Java 类路径(不能用于 exe 模式)
--JvmMs - 初始内存池容量,以 MB 计。不能用于 exe 模式
--JvmMx - 内存池最大容量,以 MB 计。不能用于 exe 模式
--JvmSs - 线程堆栈容量,以 KB 计。不能用于 exe 模式
--StartMode - 取值为 jvmjavaexe 其中之一。这些模式的含义为:

  • jvm——进程内启动 Java。依赖 jvm.dll,参看 --Jvm 形参相关描述
  • Java——与 exe 类似,但会自动使用默认的 java 可执行文件。也即 %JAVA_HOME%\bin\java.exe。确保正确设定 JAVA_HOME,或使用 --JavaHome 来提供正确的位置。如果都未设定,procrun 会从注册表中寻找默认的 JDK(不是 JRE)
  • exe——以独立进程方式运行映像
--StartImage - 运行的可执行文件。只适用于 exe 模式
--StartPath - start 映像可执行文件的工作路径
--StartClass Main 包含启动方法的类。适用于 jvmjava 模式,不适用于 exe 模式
--StartMethod main 方法名如果不同,则使用 main
++StartParams - 传入 StartImageStartClass 的一组形参。用 #; 字符来分隔形参。
--StopMode - 取值为 jvmjavaexe 其中之一。更多详细描述参看 --StartMode
--StopImage - 运行于 Stop 服务信号下的可执行文件。只适用于 exe 模式
--StopPath - 停止映像的可执行文件的工作路径。不适用于 jvm 模式
--StopClass Main 用于 Stop 服务信号的类。适用于 jvmjava
--StopMethod main 方法名如果不同,则使用 main
++StopParams - 传入 StopImage 或 StopClass 的一组形参。用 #; 字符来分隔形参
--StopTimeout 没有超时 用于 procrun 等待服务优雅地结束时的超时秒数。
--LogPath %SystemRoot%\System32\LogFiles\Apache 定义日志路径。如有必要则创建路径。
--LogPrefix commons-daemon 定义服务日志文件名前缀。日志文件被创建在 LogPath 所定义的路径处,带有后缀 .YEAR-MONTH-DAY.log
--LogLevel Info 定义日志级别。取值为以下这些值的其中之一:ErrorInfoWarnDebug。(区分大小写)
--StdOutput - 重定向的标准输出文件名。如果指定为 auto,则文件创建在 LogPath 所定义的路径处,文件名形式为:service-stdout.YEAR-MONTH-DAY.log
--StdError - 重定向的标准错误文件名。如果指定为 auto,则文件创建在 LogPath 所定义的路径处,文件名形式为:service-stderr.YEAR-MONTH-DAY.log
--PidFile - 定义运行中的进程 id 的文件名。实际文件创建在 LogPath 目录中。

安装服务

最安全的手动安装服务的方式是利用提供的 service.bat 脚本。需要有管理员特权才能运行该脚本。为了安装服务,必要时可以采用 /user 指定一个用户。

注意:在 Windows Vista 或其他版本更新的 Windows 操作系统上,如果开启了用户账户控制功能(UAC,User Account Control),当脚本启动 Tomcat8.exe 时,系统会要求提供额外的特权。如果你想为服务安装程序传入附加选项,如 PR_* 环境变量,则必须在系统对它们进行全局配置,或者启动相关程序,利用更高级的特权来设置它们,比如:右键点击 cmd.exe 然后选择 “以管理员身份运行”;在 Windows 8(或更新版本)或 Windows Server 2012(或更新版本)系统中,还可以在文件资源管理器中点击“文件”菜单,为当前目录打开一个高级命令提示符(elevated command prompt)。详情参看问题 56143

Install the service named 'Tomcat8'
C:\> service.bat install

还有第 2 个可选参数,可以让你指定服务名,就像 Windows 服务所展示的那样。

Install the service named 'MyService'
C:\> service.bat install MyService

如果使用 tomcat8.exe,你需要使用 //IS// 参数。

Install the service named 'Tomcat8'
C:\> tomcat8 //IS//Tomcat8 --DisplayName="Apache Tomcat 8" \
C:\> --Install="C:\Program Files\Tomcat\bin\tomcat8.exe" --Jvm=auto \
C:\> --StartMode=jvm --StopMode=jvm \
C:\> --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \
C:\> --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop

更新服务

要想更新服务参数,需要使用 //US// 参数。

Update the service named 'Tomcat8'
C:\> tomcat8 //US//Tomcat8 --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
C:\> --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar

如果想为服务指定可选名,需要以如下方式进行:

Update the service named 'MyService'
C:\> tomcat8 //US//MyService --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
C:\> --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar

删除服务

如要删除服务,需使用 //DS// 参数。 如果服务正在运行,则会先停止然后再删除。

Remove the service named 'Tomcat8'
C:\> tomcat8 //DS//Tomcat8

为服务指定可选名的方式如下:

Remove the service named 'MyService'
C:\> tomcat8 //DS//MyService

调试服务

想要在控制台模式下运行服务,需使用 //TS// 参数。通过按下 CTRL+C or CTRL+BREAK 使服务关闭。如果将 tomcat8.exe 重命名为 testservice.exe,那么只需执行 testservice.exe,就会默认执行这个命令模式了。

Run the service named 'Tomcat8' in console mode
C:\> tomcat8 //TS//Tomcat8 [additional arguments]
Or simply execute:
C:\> tomcat8

多个实例

Tomcat 支持安装多个实例。一个 Tomcat 安装可以带有多个实例,它们可以在不同 IP/端口组合上运行,或者是以多个 Tomcat 版本运行,每个版本都一个或多个实例,在不同的不同 IP/端口组合上运行。

每个实例的文件夹都应具有如下目录结构:

  • conf
  • logs
  • temp
  • webapps
  • work

conf 目录最起码应该包含 CATALINA_HOME\conf\ 中下列文件的副本。任何没有复制过或编辑过的文件,将直接从 CATALINA_HOME\conf 中获取。比如,CATALINA_BASE\conf 中的文件就会覆盖 CATALINA_HOME\conf 的默认文件。

  • server.xml
  • web.xml

必须编辑 CATALINA_BASE\conf\server.xml,指定一个唯一的 IP/端口用于实例侦听。找到包含 <Connector port="8080" ... 的代码行,添加一个地址属性,并且(或者)更新端口号,以便指定一个唯一的 IP/端口组合。

要想安装一个实例,首先将 CATALINA_HOME 环境变量设置为 Tomcat 安装目录名称。然后创建一个第二个环境变量 CATALINA_BASE,并将其指向实例文件夹。最后运行 service install 命令指定服务名称。

set CATALINA_HOME=c:\tomcat_8
set CATALINA_BASE=c:\tomcat_8\instances\instance1
service install instance1

修改服务设置,需要运行 tomcat8w //ES//instance1

对于附加实例,创建附加实例文件夹,更新 CATALINA_BASE 环境变量,然后再次安装服务。

set CATALINA_BASE=c:\tomcat_8\instances\instance2
service install instance2

Tomcat 服务应用的更多相关文章

  1. Tomcat服务无法启动的问题

    去年下半年公司就决定投入人力物力"跟风"做大数据方向的研究并应用到后续项目中,于是乎,我们也得熟悉下Java才行了. 先弄个JavaEE的开发环境再说吧.装JDK.JRE,其实JD ...

  2. CVE-2016-1240 Tomcat 服务本地提权漏洞

    catalogue . 漏洞背景 . 影响范围 . 漏洞原理 . 漏洞PoC . 修复方案 1. 漏洞背景 Tomcat是个运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容 ...

  3. Tomcat服务无法开启,点击start不一会就变成stopped

    前天在学习J2EE方面技术时,运行一个调试示例,需要用到Tomcat服务,结果使用Myeclipse怎么也打不开服务.之后去尝试手动打开Tomcat服务也无法成功,一直弄了好几个小时.后来,问了一下隔 ...

  4. Windows平台Tomcat服务搭建

    1. 下载  JDK下载 下载地址 Tomcat下载 下载地址 2. 安装配置  JDK安装配置 安装过程不再赘述. 配置: 环境变量:  JAVA_HOME,变量值为:C:\JDK(具体请根据JDK ...

  5. Tomcat服务启动成功,但访问index.jsp出错 (jspInit)

    本文引用自 --> http://zhouhaitao.iteye.com/blog/1164736 Tomcat服务启动成功,但访问index.jsp出错 环境:Tomcat6 + jdk6 ...

  6. 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。

    免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了t ...

  7. nsis制作启动Tomcat服务的exe安装包教程

    一. 准备工作 下载nsis相关工具包,点击此下载 1. 安装程序:nsis-2.46-setup.exe 2. 编辑程序:cnisedit203.exe 3. 帮助文档:NSIS205帮助文档.ra ...

  8. 【Tomcat 系统服务】将tomcat设置为系统服务,并且开机自启 + 卸载tomcat服务

    1.首先 你得下载一个tomcat[一般都是解压版的,解压放在那里就能用] startup.bat  shutdown.bat   service.bat等文件都在tomcat的bin目录下  ,例如 ...

  9. tomcat服务重启linux

    1杀掉tomcat 进程  用ssh登陆到服务器 lsof -i:8080         //找到端口 ps -ef|grep tomcat kill -9 端口 2找到tomcat目下的start ...

随机推荐

  1. Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数

    11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...

  2. 【PRINCE2是什么】PRINCE2认证之七大原则(7)

    我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁 第七个原则:根据项目环境剪裁 PRINCE2的价值在于它是一个通用的项目管理方 ...

  3. 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

    企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...

  4. 05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.引入 概述 音频文件或视频文件都可以看做是一个容器文 ...

  5. HTML5系列目录

    1. HTML5与HTML4的区别 2. HTML5结构 3. HTML5表单 4. HTML5文件 5. HTML5绘图 6. HTML6本地存储

  6. 【Win 10 应用开发】多媒体转码

    上次本来说好,今天咱们来讨论 socket 相关的话题,但,对于 socket ,老周还有一些问题没弄清楚,等弄清楚了,再和大伙伴们一起探讨.故,今天咱们扯一扯多媒体转码的事. 听起来挺复杂的,不过, ...

  7. Linux文件系统的实现

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状 ...

  8. 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(2): 抓取allitebooks.com书籍信息及ISBN码

    这一篇首先从allitebooks.com里抓取书籍列表的书籍信息和每本书对应的ISBN码. 一.分析需求和网站结构 allitebooks.com这个网站的结构很简单,分页+书籍列表+书籍详情页. ...

  9. SSH(Struts2+Spring+Hibernate)框架搭建流程

    添加支持 我先介绍的是MyEclipse9的自带框架支持搭建过程:(完全的步骤 傻瓜式的学习..~) 首先我们来搭建一个Web项目: 一.Hibernate(数据层)的搭建: 相关描述 Ⅰ.服务器与数 ...

  10. scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归

    主成分分析(PCA)进行无监督的降维,而逻辑回归进行预测. 我们使用GridSearchCV来设置PCA的维度 # coding:utf-8 from pylab import * import nu ...