无法将 jconsole 连接到远程服务器,Tomcat无法启动



尝试将jconsole连接到远程服务器。

我把这个添加到我的catalina.sh:

export JAVA_OPTS="-Dcom.sun.management.jmxremote 
    -Dcom.sun.management.jmxremote.port=9005 
    -Dcom.sun.management.jmxremote.ssl=false 
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Djava.rmi.server.hostname=xx.xx.xx.xx"

卡特琳娜。显示:

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: myhostname: myhostname

不确定为什么在错误消息中重复我的主机名?

BTW,因为我设置身份验证为假,在jconsole应用程序,我留下用户名/密码空白或登录到服务器?

您必须在/etc/hosts文件中添加与/etc/sysconfig/network文件中定义的相同的主机名。这就是我解决问题的方法。

我已经找到了这个问题的解决方案。在catalina.sh文件中添加以下内容:

JAVA_OPTS = " $ JAVA_OPTS -Dcom.sun.management。现在= true -Dcom.sun.management.jmxremote。ssl = false -Dcom.sun.management.jmxremote。= false -Dcom.sun.management.jmxremote进行身份验证。= 7010 -Djava.rmi.server港。主机名= $ {IP} "

还在/etc/init.d/hosts文件中添加以下行:

127.0.0.1 localhost <your_hostname>

这解决了问题。我现在能够在这个端口上运行jconsolejvisualvm

如果您想动态获取IP地址,您可以尝试:

IP=`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=${IP}"
  1. 如果你在'export'语句中使用了'',请删除它们。

  2. 要连接到远程java进程,请使用java进程(tomcat实例)所在服务器的IP地址。当IP地址无法确定时抛出UnknownHostException,所以另一种选择是将名称- IP地址定义添加到hosts文件中。

您可以尝试将JAVA_OPTS中添加的参数添加到CATALINA_OPTS中。应该是这样的。
还要确保使用与运行tomcat相同的配置文件登录进行设置。

相关内容

  • 没有找到相关文章

最新更新