如何在命令行中传递Tomcat端口号?

14

能否告诉Tomcat使用特定端口而非server.xml中指定的端口? 或者在server.xml中配置一个环境变量作为端口号?(我可以在启动Tomcat的批处理文件中设置它)

基本上,我想启动不同版本的Tomcat实例,而无需手动更改它们中的每个实例中的server.xml,并且需要记住哪个实例将在哪个端口上启动。 我希望在启动它时指定端口号,以便多个实例之间不会产生冲突。

1个回答

27

请更改您的server.xml文件,以便它使用从属性扩展而来的端口号,而不是硬编码的端口号:

<Server port="${port.shutdown}" shutdown="SHUTDOWN">
...
  <Connector port="${port.http}" protocol="HTTP/1.1"/>
...
</Server>

以下是如何在Linux上开始操作(假设您当前的目录是CATALINA_HOME):

这里是如何在Linux上开始操作(假设您当前的目录是CATALINA_HOME):

JAVA_OPTS="-Dport.shutdown=8005 -Dport.http=8080" bin/startup.sh
在Windows中应该是以下内容:
set "JAVA_OPTS=-Dport.shutdown=8005 -Dport.http=8080"
bin\startup.bat

1
关机标志是用来做什么的? - mjs
1
如何使用Bootstrap? - Balaji Boggaram Ramanarayan
1
请注意,在关闭服务器时,您可能还需要设置 port.shutdownJAVA_OPTS="-Dport.shutdown=8005" bin/shutdown.sh - lmika

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接