如果检查了有关此问题的其他问题,但到目前为止还没有灵魂。这是我的设置:TC6 在我的 macbook 上的 debian vm 上运行。在 /etc/default/tomcat6.0 我设置了以下选项:
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
netstat -ntlp 给了我:
tcp6 0 0 :::8080 :::* LISTEN 6550/java
tcp6 0 0 :::8086 :::* LISTEN 6550/java
其中 6550:
root 6550 3.3 6.8 224888 52984 pts/0 Sl 10:31 0:43 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6.0/conf/logging.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/usr/share/tomcat6.0/common/endorsed -classpath :/usr/lib/jvm/java-6-sun/jre//lib/jcert.jar:/usr/lib/jvm/java-6-sun/jre//lib/jnet.jar:/usr/lib/jvm/java-6-sun/jre//lib/jsse.jar:/usr/share/tomcat6.0/bin/bootstrap.jar:/usr/share/tomcat6.0/bin/commons-logging-api.jar -Dcatalina.base=/var/lib/tomcat6.0 -Dcatalina.home=/usr/share/tomcat6.0 -Djava.io.tmpdir=/var/lib/tomcat6.0/temp org.apache.catalina.startup.Bootstrap start
防火墙:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all anywhere anywhere
当我尝试使用 jvisualm 从 OSX 连接时: - 添加一个带有我的 vm 主机名的新主机(将其添加到 /etc/hosts) - 添加一个新的 JMX-Connection
VisualVM 失败并显示:
Cannot connect using service:jmx:rmi///jndi/rmi://<vmhostname>:8086/jmxrmi
当我使用连接到我的 VMssh -X
并在运行 tomcat 的同一台机器上启动 jvisualvm 时,我最初看不到 TC,但我可以像上面一样添加 jmx 连接。
这可能是外国主机被神秘地阻止访问 rmiregistry 的问题吗?为什么会有人做这种蠢事?
我究竟做错了什么?
(抱歉 4 帖子太长了)