簡體   English   中英

無法將jconsole連接到遠程服務器,tomcat無法啟動

[英]Can't connect jconsole to remote server, tomcat failing to start

嘗試將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"

catalina.out顯示:

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

不確定為什么它會在錯誤消息中重復我的主機名?

順便說一句,因為我將身份驗證設置為false,在jconsole應用程序中,我是否將用戶名/密碼留空或是用於登錄服務器?

您必須在/etc/hosts文件中添加與/etc/sysconfig/network文件中定義的相同的主機名。 這就是我解決問題的方法。

我找到了解決這個問題的方法。 catalina.sh文件中添加以下內容:

JAVA_OPTS =“$ JAVA_OPTS -Dcom.sun.management.jmxremote = true -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.port = 7010 -Djava.rmi.server.hostname = $ {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的位置相同的配置文件登錄進行設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM