我想将Tomcat v5.5端口存储在一个环境变量中,并让Tomcat监听该端口。到目前为止,我看到的更改端口的唯一方法是修改$ CATALINA_HOME / conf / server.xml。启动Tomcat时,是否可以通过提供外部值来设置端口值?我在Solaris上运行Tomcat。
创建一个脚本以启动Tomcat。在启动脚本中,导出JAVA_OPTS以为Tomcat属性指定一个值port.http.nonssl(注意,可以根据需要调用此属性)。
port.http.nonssl
export JAVA_OPTS=-Dport.http.nonssl=${CATALINA_BASE_PORT}
如您所见,我已将port.http.nonssl环境变量设置为${CATALINA_BASE_PORT}
${CATALINA_BASE_PORT}
该脚本然后启动Tomcat:
$CATALINA_HOME/bin/startup.sh
现在,您需要更改Tomcat $CATALINA_HOME/conf/server.xml文件,以便非SSL HTTP连接器使用该port.http.nonssl属性而不是硬编码值。
$CATALINA_HOME/conf/server.xml
<!-- 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}环境变量中定义的端口。