tomcat - 即时更改 Tomcat 端口

标签 tomcat

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

最佳答案

创建启动 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,它就会使用 ${CATALINA_BASE_PORT} 环境变量中定义的端口。

关于tomcat - 即时更改 Tomcat 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045949/

相关文章:

java - 如何在 Junit 中使用嵌入式 Tomcat 7 测试基于 servlet 3.0 注释的 servlet

Tomcat + 管理属性文件

java - Tomcat 安全管理器 - 确定 Web 应用程序需要哪些权限

caching - Tomcat 正在为 JS 和 CSS 文件设置无缓存

tomcat - Windows 10 上的 Spring STS Spring Tools Suite 端口问题 Tomcat

java - Servlet-Apache Tomcat

java - Play framework 2.1 应用部署

tomcat - 在以前版本的 Tomcat 中使用 WEB-INF/lib 中的 JAR

java - 在 tomcat/bin 之外读取文本文件

java - 我们必须将 .class 文件放在 Tomcat 目录中的位置