jconsole远程连接centos7 服务器上的tomcat来查看服务器状况(无密码版)

1.用vim打开你服务器上的catalina.sh文件

在文件中最前面添加

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=6969
-Dcom.sun.management.jmxremote.rmi.port=6969
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=106.15.188.221"

截图如下:


代码解释:

-Dcom.sun.management.jmxremote.port=6969  //连接端口,自定义不要与已有的端口冲突

-Dcom.sun.management.jmxremote.rmi.port=6969  //这句一定要添加,不添加就无法成功

-Dcom.sun.management.jmxremote.authenticate=false //不需要密码登陆

-Dcom.sun.management.jmxremote.ssl=false  //不需要安全证书

-Djava.rmi.server.hostname=106.15.188.221"//这个ip是自己服务器的外网ip


配置完以后重新还在文件,再重启tomcat服务器:

systemctl daemon-reload
systemctl restart tomcat

2.在本地打开jconsole,windows下进入cmd终端输入jconsole。mac直接在终端输入jsonsole。


输入服务器ip和端口,直接连接即可。点击不安全的连接(由于没有设置证书和无密码登陆)


连接成功截图


注意一下几个问题(反正我没遇到)

1.使用netstat -tunlp|grep 6969查看6969端口是否被占用,如果占用另外换一个

2.-Dcom.sun.management.jmxremote.rmi.port=6969  //这句一定要添加,不添加就无法成功的

3.如果是阿里云,一定记得打开安全组6969端口(6969是你自己开始设置的那个端口,我总是忘记)

4.防火墙端口的添加,/etc/firewalld/zones/public.xml 路径添加上你的端口(我是直接关闭了防火墙的,所以就没有添加过滤尴尬

5.网上说有时会遇到第一次启动时tomcat不会报错,如果停止之后tomcat会提示端口被占用了, 问题原因是,在关闭Tomcat时,也执行了Catalish中的jmxremote的端口号。

听说是这样配置的,在catalina.sh中(我试了,发现这个也可以执行,所以就把之前的那个JAVA_OPTS替换掉了,替换位置还是在之前那个地方)

if [ "$1" = "start" ];then  
   echo "set console";  
   JAVA_OPTS="-Djava.rmi.server.hostname=106.15.188.221 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"  
else  
   echo "no startup";   
fi;  

这是测试远程登陆是否可行,但是无密码存在安全隐患,后面会出有密码的。。。

发布了49 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/unhejing/article/details/79882618