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