一尘不染

即时更改Tomcat端口

tomcat

我想将Tomcat v5.5端口存储在一个环境变量中,并让Tomcat监听该端口。到目前为止,我看到的更改端口的唯一方法是修改$ CATALINA_HOME
/ conf / server.xml。启动Tomcat时,是否可以通过提供外部值来设置端口值?我在Solaris上运行Tomcat。


阅读 214

收藏
2020-06-16

共1个答案

一尘不染

创建一个脚本以启动Tomcat。在启动脚本中,导出JAVA_OPTS以为Tomcat属性指定一个值port.http.nonssl(注意,可以根据需要调用此属性)。

export JAVA_OPTS=-Dport.http.nonssl=${CATALINA_BASE_PORT}

如您所见,我已将port.http.nonssl环境变量设置为${CATALINA_BASE_PORT}

该脚本然后启动Tomcat:

$CATALINA_HOME/bin/startup.sh

现在,您需要更改Tomcat $CATALINA_HOME/conf/server.xml文件,以便非SSL
HTTP连接器使用该port.http.nonssl属性而不是硬编码值。

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="${port.http.nonssl}" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

现在,只要通过新的启动脚本启动Tomcat,Tomcat就会使用$ {CATALINA_BASE_PORT}环境变量中定义的端口。

2020-06-16