注:主要记录两处碰到的坑,一个是访问需要用户名密码(需要设置成tomcat启动的用户的读权限),另一个是关闭tomcat报端口被占用。
1、修改tomcat目录下bin/catalina.sh,并添加
CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=9999"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.password.file=jmxremote.password"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.access.file=jmxremote.access"
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=10.37.129.2 -Dcom.sun.management.jmxremote"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
如果把CATALINA_OPTS改成JAVA_OPTS也可以,但是在关闭tomcat的时候会报端口被占用,关闭失败,这是因为添加到JAVA_OPTS的配置中,在tomcat关闭和启动的时候都会运行一次。则配置CATALINA_OPTS则只会tomcat启动才会生效。
上述的端口设置成未被占用的,ip为自己及其的地址,
本配置需要用户名密码,配置文件都被我移动到bin目录下。
2、jmxremote.password和jmxremote.access配置文件
可以在jre的目录下jre/lib/management中,修改或者移动到自己建立的文件夹目录下。
另外非常重要的一点就是,这两个文件的访问都只能设置成tomcat启动用户的读权限,否则会报控制权限错误。
修改用户和组:sudo chown tomcat:tomcat jmxremote.password
修改为读权限:sudo chmod 400 jmxremote.password