1.複製jdk提供的jmx賬號和密碼配置文件模板到tomcat的conf目錄:tomcat
cp $JAVA_HOME/jre/lib/management/jmxremote.* tomcat/confssl
2.重命名:jmxremote.password.template爲jmxremote.passwordrem
mv jmxremote.password.template jmxremote.passwordget
3.給密碼文件加上寫權限:
chmod +w jmxremote.password權限控制
4.以追加文件方式往jmx權限控制文件中加入一個只讀權限的賬號,讀寫權限是readwriteit
echo "jmxuser readonly" >> jmxremote.accessconsole
5.往jmx權限控制的密碼文件中加入賬號的密碼模板
echo "jmxuser jmxpwd" >> jmxremote.passwordjdk
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進行遠程訪問