当前位置: 首页 > 面试题库 >

启用了JMX的Tomcat7会打开2个其他随机监听端口

沙星波
2023-03-14
问题内容

我在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"

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

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客户端连接时,启用JMX的Java应用程序似乎会打开一个随机的高阶端口

为什么Tomcat中的JMX打开2个附加端口?

如何配置这些端口?

如果我配置了-Dcom.sun.management.jmxremote.local.only=true其他端口,也只能使用本地访问来访问?

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


问题答案:

您可以使用Tomcat的JMX远程生命周期侦听器,该侦听器可以修复JMX / RMI服务器使用的端口。
JMX远程生命周期侦听器允许配置以下端口:

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

另外,您可以配置useLocalPorts属性-是否应强制所有使用这些端口的客户端使用本地端口连接到JMX / RMI服务器。

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



 类似资料:
  • 问题内容: 我正在端口process.env.PORT(1337)(Microsoft Azure的默认端口)上运行nodejs应用程序(Azure Web App)。另外,我需要监听websocket的其他端口。在我的本地计算机上,我使用的是8000,但似乎在Azure上已关闭。 是否有其他我可以收听的端口,实际上是否有可能? 问题答案: 如果要部署到Azure Web App,则只有端口80和

  • 我在XAMPP中安装了一个apache web服务器,其中安装了PHP和OCI8 for Oracle。 我的默认请求端口是1934,但Apache会自动打开其他端口,有时我必须重新启动才能正确运行它。 在错误日志中,唯一显示的是: 服务器软件是Windows 7上的XAMPP 3.2.1。

  • 本文向大家介绍Springboot启用多个监听端口代码实例,包括了Springboot启用多个监听端口代码实例的使用技巧和注意事项,需要的朋友参考一下 前段时间服务有这么个需求,web端的接口需要有web安全相关的整改,但是对内的接口并不需要。所以服务需要多个端口启动,在此记录下 代码如下 application.yml server: port: ${appPort:8800} addition

  • 我最近搬家了。NET Web API 2应用程序从Azure云服务到Azure Web应用程序。但是,我们有一个遗留应用程序,需要在端口8080和444上与API通信。 有没有办法在web应用程序上打开其他端口?

  • 对于运行 systemd 的系统 例如 Debian 8 以及更新的版本,Ubuntu 15.04以及更新的版本。 创建 systemd 服务管理文件,将以下示例中 ${seafile_dir} 替换为您自己的 seaile 安装路径,并且将 user 指向真正运行seafile的用户。然后您需要重新加载 systemd 的守护进程:systemctl daemon-reload。 创建 syst

  • 本文向大家介绍Android 监听手机GPS打开状态实现代码,包括了Android 监听手机GPS打开状态实现代码的使用技巧和注意事项,需要的朋友参考一下 Android 监听手机GPS打开状态实现代码 GPS_Presenter GPS_Interface 回调接口 在 Activity 中使用 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!