转自: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. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

  2. 如何在博客中使用SublimeText风格的代码高亮样式

    因为觉得博客园自带的代码高亮样式很单一,不符合作为前端的我的审美习惯,于是下定决心要想办法折腾出一个方法来应用上另外一套代码高亮样式. 虽然探索的过程是很痛苦的,但最后还是成功了,但也不枉付出的那些努 ...

  3. 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结

    防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...

  4. 匹夫细说C#:从园友留言到动手实现C#虚函数机制

    前言 上一篇文章匹夫通过CIL代码简析了一下C#函数调用的话题.虽然点击进来的童鞋并不如匹夫预料的那么多,但也还是有一些挺有质量的来自园友的回复.这不,就有一个园友提出了这样一个代码,这段代码如果被编 ...

  5. IntelliJ IDEA 内存优化最佳实践

    本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响. Don't be a Scrooge and give you ...

  6. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  7. Notepad++ 实用技巧

    Notepad++是一款开源的文本编辑器,功能强大.很适合用于编辑.注释代码.它支持绝大部分主流的编程语言. 本文主要列举了本人在实际使用中遇到的一些技巧. 快捷键 自定义快捷键 首先,需要知道的是: ...

  8. 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇

    http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...

  9. CSS3 值得称赞新特性

    Html5和CSS3相信大家现在都已不陌生了吧,但CSS3哪些新特性值得我们去称赞呢? 首先还是让大家来看几张效果图,相信大家看到这些效果图,肯定会说这些效果只用CSS是如何实现的呢? 1.3D正方形 ...

  10. 2011奥斯卡最佳纪录片《监守自盗(Inside Job)》小结

    影片探讨了2008年金融危机产生的原因. 美国忽略1933年的旧法律,立新法,以放松金融监管. 投资银行被允许更高的杠杆率,33:1,也就是说,投资物跌价3%就会导致破产. 投资银行放贷,但是转手将贷 ...