1.復制jdk提供的jmx帳號和密碼配置文件模板到tomcat的conf目錄:
cp $JAVA_HOME/jre/lib/management/jmxremote.* tomcat/conf
2.重命名:jmxremote.password.template為jmxremote.password
mv jmxremote.password.template jmxremote.password
3.給密碼文件加上寫權限:
chmod +w jmxremote.password
4.以追加文件方式往jmx權限控制文件中加入一個只讀權限的帳號,讀寫權限是readwrite
echo "jmxuser readonly" >> jmxremote.access
5.往jmx權限控制的密碼文件中加入帳號的密碼
echo "jmxuser jmxpwd" >> jmxremote.password
6.修改jmxremote.*的權限,只允許啟動tomcat的用戶名對該文件擁有讀寫權限:
chmod 600 jmxremote.*
7.修改catalina.sh判斷,不是stop時啟用jmx
if [ "$1" != "stop" ]; then
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access"
fi
注意:jmxremote.password和jmxremote.access文件只允許啟動用戶名對該文件擁有讀寫權限 chmod 600 *
這樣就可以通過jconsole連接8099端口,使用剛才設置的用戶名密碼jmxuser/jmxpwd進行遠程訪問