gpt4 book ai didi

java - 启用 JMX 的 Tomcat7 打开 2 个额外的随机监听端口

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:32 26 4
gpt4 key购买 nike

我在 Centos6 上使用 JDK7 运行 Tomcat7。我使用以下选项启用 JMX:

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9123 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=true"

不幸的是,当我检查打开了哪些端口时,我发现了 2 个额外的随机端口:

netstat -plunt | grep java
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::60555 :::* LISTEN 22752/java
tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 22752/java
tcp 0 0 :::9123 :::* LISTEN 22752/java
tcp 0 0 :::40867 :::* LISTEN 22752/java

我想 JMX 应该多开一个端口 JMX enabled Java application appears to open a random high order port when JMX client connects

为什么 Tomcat 中的 JMX 多开 2 个端口?

如何配置这些端口?

如果我配置 -Dcom.sun.management.jmxremote.local.only=true 是否意味着其他端口也可以仅使用本地访问来访问?

如何配置 ::ffff:127.0.0.1 出现在 JMX 打开的所有端口之前?

最佳答案

您可以使用 Tomcat 的 JMX Remote Lifecycle Listener这允许修复 JMX/RMI 服务器使用的端口。
JMX 远程生命周期监听器允许配置以下端口:

  • rmiRegistryPortPlatform - JMX/RMI 注册表使用的端口对于平台 MBean。应该使用这个代替 com.sun.management.jmxremote.port 系统属性
  • rmiServerPortPlatform - 要使用的端口通过平台 JMX/RMI 服务器。

此外,您可以配置 useLocalPorts 属性 - 如果使用这些端口的任何客户端都必须使用本地端口连接到 JMX/RMI 服务器。

请注意,此监听器需要将 catalina-jmx-remote.jar 放在 $CATALINA_HOME/lib 中。这个jar可以在二进制下载区的extras目录中找到。

关于java - 启用 JMX 的 Tomcat7 打开 2 个额外的随机监听端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com