先放出参考连接文章
https://www.linuxidc.com/Linux/2015-02/113415.htm
https://www.cnblogs.com/think-in-java/p/6138439.html
其实要做的东西很简单
1.首先到远程的tomcat的 catalina.sh 文件中加入
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.202.121 -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/management/jmxremote.password"
其中 192.168.202.121 为远程服务器的ip地址
pwd.file 指向jdk/jre/lib/management/ 的 jmxremote.password 文件
然后到 jdk/jre/lib/management 下面
然后通过 jmxremote.password.template 复制一份 jmxremote.password 文件出来
再把这个路径下的 两个文件权限修改成600
chmod 600 jmxremote.password jmxremote.access
编辑 jmxremote.password 文件,把
monitorRole QED
controlRole R&D
前面两行的注释去掉,也就是去掉 # 号
controlRole 就是账号, R&D 就是密码
然后启动tomcat,即可
如果你连接失败的话,有可能是两个原因
1.防火墙没有关闭,端口访问不到,确定一下这个
2.在linux输入命令 hostname -i 看是不是访问服务器的ip地址,如果不是
需要到 /etc/hosts 下面把这行映射配上
你的服务器ip localhost
然后再测试应该就行了
最后再说一下,由于配置了这个东西,所以使用 shutdowt.sh的时候将会无法停止tomcat
解决方法有两个
1.通过 ps -ef|grep tomcat 查找进程,然后kill -9 这个进程
2.在catalina.sh 中再加入
CATALINA_PID=../conf/tomcat.pid
指定tomcat.pid 的位置,然后shutdown的时候就可以停止tomcat了
不过还是会报 12345被占用的错,但是似乎没啥影响,,这个待验证,不过我觉得既然有这个功能,应该就不会有什么问题吧
主要是配置了jconsole这个东西以后才有的一个问题