作为 Windows 服务运行的多个 Tomcat 实例

作为 Windows 服务运行的多个 Tomcat 实例

我可以从同一物理位置 (CATALINA_HOME) 将 Tomcat 服务器的多个实例作为 Windows 服务执行吗?换句话说,我可以执行引用特定 server.xml(不是默认位置)的 Tomcat Windows 服务吗?我知道此选项可用于从 bat 文件执行 Tomcat。

答案1

是的,你可以这样做。

如果您使用的是 Windows,则可以使用官方文档: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html

我建议下载与你的 Windows 发行版关联的 service.bat 文件。此答案介绍了如何执行此操作: https://stackoverflow.com/questions/15798813/tomcat-7-service-bat-file-is-missing

如果您没有 service.bat 文件,则需要使用 bin 文件夹中 Tomcat7.exe 的命令行参数。例如,检查“安装服务”和“更新服务”,了解如何通过命令行运行可执行文件并按您想要的方式配置服务。

最重要的是,您需要一个实例文件夹(您将使用 CATALINA_HOME 变量设置它)。在其中,您应该有一个包含 web.xml 和 server.xml 的 conf 文件夹。如 Peter 所建议的,将连接器中指定的四个端口(8080、8005、8009 和 8443)更改为其他端口,这样它们就不会与您的第一次安装冲突。

答案2

最好的方法是使用 CATALINA_BASE 变量,您不想为每个实例乱七八糟地复制二进制文件。只需安装基本安装,然后创建一个包含您唯一实例的服务器文件夹,该文件夹将仅包含您需要的每个实例的 conf/lib/bin/logs/temp 文件夹。

每个实例都需要自己的端口,因此如果使用shutdown/http/ajp/JMX端口,请记住偏移这些端口。

审查https://stackoverflow.com/questions/3090398/tomcat-catalina-base-and-catalina-home-variables

您可以查阅 vFabric tc 服务器文档,其中有关于此方面的很好示例。

答案3

如果您想运行多个实例,则需要在每个不同的配置上使用不同的端口。

相关内容