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进行远程访问