Tomcat 监视器应用程序
Tomcat11w 是一个用于监控和配置 Tomcat 服务的 GUI 应用程序。
命令行指令
每个命令行指令都采用 //XX[//ServiceName]
的形式
如果省略 //ServiceName
组件,则假定服务名称为文件名减去 w 后缀。
因此,默认服务名称为 Tomcat11。
可用的命令行指令包括:
//ES |
Edit service configuration |
这是默认操作。如果提供了 no 选项,则调用 ID。启动 GUI 应用程序,该应用程序允许修改、启动和停止服务配置。 |
//MS |
Monitor 服务 |
启动 GUI 应用程序并将其最小化到系统托盘。 |
//MR |
监控和运行服务 |
启动GUI应用程序并将其最小化到系统托盘。如果服务当前未运行,请启动该服务。 |
//MQ |
Monitor quit |
停止服务的任何正在运行的监视器。 |
Tomcat 服务应用程序
Tomcat11 是一个服务应用程序, 用于将 Tomcat 11 作为 Windows 服务运行。
命令行指令
每个命令行指令都采用 //XX[//ServiceName]
的形式
可用的命令行指令包括:
//TS |
将服务作为控制台应用程序运行 |
这是默认操作。如果提供了 no 选项,则调用 ID。ServiceName 是不带 exe 后缀的可执行文件的名称,即 Tomcat11 |
//RS |
运行 |
仅从 ServiceManager 调用的服务 |
//ES |
启动(执行)服务 |
|
//SS |
停止服务 |
|
//US |
Update 服务参数 |
|
//IS |
Install 服务 |
|
//DS |
Delete service |
如果正在运行,则停止服务 |
//PS |
Print service |
打印命令以(重新)创建当前配置 |
//PP[//秒] |
暂停服务 |
默认为 60 秒 |
//VS |
版本 |
打印版本并退出 |
//? |
帮助 |
打印使用情况和退出 |
命令行参数
每个命令行参数都以 --
为前缀如果命令行参数以 ` 为前缀,
并且该参数支持多个值,则其 value 将附加到现有选项中。
在下表中,支持多个值的参数以 `
为前缀。
如果存在与命令行参数同名但前缀为
PR_
的环境变量,则它将优先。例如:
set PR_CLASSPATH=xx.jar
等效于提供
--Classpath=xx.jar
作为命令行参数。
参数名 |
默认 |
描述 |
--Description |
服务名称:描述(最多 1024 个字符) |
|
--DisplayName |
ServiceName |
服务显示名称 |
--Install |
procrun.exe //RS//ServiceName |
安装镜像 |
--Startup |
手动 |
服务启动模式可以是自动或手动 |
++DependsOn |
此服务所依赖的服务列表。依赖服务使用 |
|
++Environment |
将以 |
|
--User |
用于运行可执行文件的用户帐户。它仅用于 StartMode java 或 exe,并允许在没有 LogonAsService 权限的帐户下将应用程序作为服务运行。 |
|
--Password |
用户帐户的密码由 --User 参数设置 |
|
--ServiceUser |
指定运行服务的帐户的名称。使用 |
|
--ServicePassword |
由 --ServiceUser 参数设置的用户账户密码 |
|
--LibraryPath |
添加到用于查找 JVM 的 DLL 的搜索路径的目录。此目录既添加到 |
|
--JavaHome |
JAVA_HOME |
设置与环境变量定义不同的JAVA_HOME |
--jvm |
auto |
使用 auto(即从 Windows 注册表中查找 JVM)或指定`jvm.dll`的完整路径。可以在此处使用环境变量扩展。 |
++JvmOptions |
-Xrs |
将传递给 JVM 的 -D 或 -X 形式的选项列表。选项使用 # 或 ;字符。如果需要嵌入 # 或 ;字符,请将它们放在单引号内。(在 exe 模式下不使用)。 |
++JvmOptions9 |
在 Java 9 或更高版本上运行时将传递给 JVM 的 -D 或 -X 形式的选项列表。选项使用 # 或 ;字符。如果需要嵌入 # 或 ;字符,请将它们放在单引号内。(在 exe 模式下不使用)。 |
|
--Classpath |
设置 Java 类路径。(在 exe 模式下不使用)。 |
|
--JvmMs |
初始内存池大小(以 MiB 为单位)。(在 exe 模式下不使用)。 |
|
--JvmMx |
最大内存池大小 (MiB)。(在 exe 模式下不使用)。 |
|
--JvmSs |
线程堆栈大小(以 KiB 为单位)。(在 exe 模式下不使用)。 |
|
--StartMode |
jvm、Java 或 exe 之一。模式包括:
|
|
--StartImage |
将要运行的可执行文件。仅适用于 exe 模式。 |
|
--StartPath |
启动映像可执行文件的工作路径。 |
|
--StartClass |
Main |
包含启动方法的主类。适用于 jvm 和 Java 模式。(在 exe 模式下不使用)。 |
--StartMethod |
main |
方法名称 如果不同,则 main |
++StartParams |
将传递给 StartImage 或 StartClass 的参数列表。参数使用 # 或 ;字符。 |
|
--StopMode |
jvm、Java 或 exe 之一。有关更多详细信息,请参阅 --StartMode。 |
|
--StopImage |
将在 Stop service 信号上运行的可执行文件。仅适用于 exe 模式。 |
|
--StopPath |
停止映像可执行文件的工作路径。不适用于 jvm 模式。 |
|
--StopClass |
Main |
类将用于 Stop service signal。适用于 jvm 和 Java 模式。 |
--StopMethod |
main |
方法名称 如果不同,则 main |
--StopParams |
将传递给 StopImage 或 StopClass 的参数列表。参数使用 # 或 ;字符。 |
|
++StopTimeout |
无超时 |
定义 procrun 等待服务正常退出的超时(以秒为单位)。 |
--LogPath |
%SystemRoot%\System32\LogFiles\Apache |
定义日志记录的路径。如有必要,创建目录。 |
--LogPrefix |
commons-daemon |
定义服务日志文件名前缀。日志文件是在 LogPath 目录中创建的。 |
--LogLevel |
Info |
定义日志记录级别,可以是 |
--LogJniMessages |
0 |
设置此非零值(例如 1)以捕获 procrun 日志文件中的 JVM jni 调试消息。如果正在使用 stdout/stderr 重定向,则不需要。仅适用于 jvm 模式。 |
--StdOutput |
重定向的 stdout 文件名。如果命名为 auto,则在 LogPath 中创建名为 |
|
--StdError |
重定向的 stderr 文件名。如果命名为 auto,则在 LogPath 中创建名为 |
|
--PidFile |
定义用于存储正在运行的进程 ID 的文件名。实际文件是在 LogPath 目录中创建的 |
安装服务
手动安装服务最安全的方法是使用提供的 service.bat
脚本。
运行此脚本需要管理员权限。如有必要,
可以使用 /user
开关指定要用于安装服务的用户。
注意:如果启用了用户帐户控制 (UAC),
则当脚本启动“Tomcat11.exe”时,系统将要求提供其他权限。
如果要将其他选项作为 PR_*
环境变量传递给服务安装程序,
则必须在操作系统中全局配置它们,或者启动使用提升权限
设置它们的程序(例如,右键单击cmd.exe并选择“以管理员身份运行);
在 Windows 8(或更高版本)或 Windows Server 2012(或更高版本)上,
可以通过单击“文件”菜单栏从资源管理器打开当前目录的提升命令提示符)。
有关详细信息,请参阅 问题 56143。
Install the service named 'Tomcat11'
C:\> service.bat install
还有第二个可选参数,用于指定服务的名称, 如 Windows 服务中所示。
Install the service named 'MyService'
C:\> service.bat install MyService
使用非默认名称安装服务时,可以重命名 tomcat11.exe
和 tomcat11w.exe 以匹配所选的服务名称。
为此,请使用 --rename
选项。
Install the service named 'MyService' with renaming
C:\> service.bat install MyService --rename
如果使用 tomcat11.exe,则需要使用 //IS
参数。
Install the service named 'Tomcat11'
C:\> tomcat11 //IS//Tomcat11 --DisplayName="Apache Tomcat 11" ^
--Install="C:\Program Files\Tomcat\bin\tomcat11.exe" --Jvm=auto ^
--StartMode=jvm --StopMode=jvm ^
--StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start ^
--StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop
更新服务
要更新服务参数,需要使用 //US
参数。
Update the service named 'Tomcat11'
C:\> tomcat11 //US//Tomcat11 --Description="Apache Tomcat Server - https://tomcat.apache.org/ " ^
--Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
如果为服务指定了可选名称,则需要按如下方式指定它:
Update the service named 'MyService'
C:\> tomcat11 //US//MyService --Description="Apache Tomcat Server - https://tomcat.apache.org/ " ^
--Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
删除服务
要删除该服务,需要使用 //DS
参数。
如果服务正在运行,它将停止,然后删除。
Remove the service named 'Tomcat11'
C:\> tomcat11 //DS//Tomcat11
如果为服务指定了可选名称,则需要按如下方式指定它:
Remove the service named 'MyService'
C:\> tomcat11 //DS//MyService
调试服务
要在控制台模式下运行该服务,需要使用 //TS
参数。
可以通过按 Ctrl+C
或 Ctrl+BREAK
来启动服务关闭。
如果将 tomcat11.exe 重命名为 testservice.exe,
则只需执行 testservice.exe,默认情况下将执行此命令模式。
Run the service named 'Tomcat11' in console mode
C:\> tomcat11 //TS//Tomcat11 [additional arguments]
Or simply execute:
C:\> tomcat11
多个实例
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.bat install” 命令。
set CATALINA_HOME=c:\tomcat_11
set CATALINA_BASE=c:\tomcat_11\instances\instance1
service.bat install instance1
要修改服务设置,可以运行 tomcat11w //ES//instance1
。
对于其他实例,请创建其他实例文件夹,
更新 CATALINA_BASE
环境变量,然后再次运行“service.bat install”。
set CATALINA_BASE=c:\tomcat_11\instances\instance2
service.bat install instance2