软件的下载地址就不提供了哈~ 我的环境:Windows 7、VisuaLVM 1.3.8 版本、JDK1.7的版本 测试环境:Windows 2003 和 Centos 7 两个系统 我配置的是不需要
软件的下载地址就不提供了哈~
我的环境:Windows 7、VisuaLVM 1.3.8 版本、JDK1.7的版本
测试环境:Windows 2003 和 Centos 7 两个系统
我配置的是不需要账号密码验证;最简单的方式连接 JMX 。
Windows 和 linux 部署的步骤大概差不多,具体看以下:
1.在 tomcat/bin 目录下打开 catalina.sh(linux) 或者 catalina.bat(windows) 增加属性如下:注意此处的 Windows 参数和 Linux,有木有SET,和引号 的区别
windows :
SET JAVA_OPTS=-server -Xms1024M -Xmx1024M -Xss512k -Dcom.sun.management.jmxremote.port=*** -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=***.***.***.***
linux:
JAVA_OPTS="-server -Xms1024M -Xmx1024M -Xss512k -Dcom.sun.management.jmxremote.port=*** -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=***.***.***.*** ”
PS:参数解析如下:
-Dcom.sun.management.jmxremote.port=*** 表示设置的端口号
-Dcom.sun.management.jmxremote.ssl=false 表示不使用SSL连接
-Dcom.sun.management.jmxremote.authenticate=false 表示不验证账号密码
-Djava.rmi.server.hostname=***.***.***.***" 表示设置的IP号(就是本机的IP)
PPS:注意要自己根据电脑配置 Xmx Xms 等等..这些Tomcat的属性就不再解析啦。相信你都懂得!如果你想要安全一点的设置就不用继续看下去啦,网上一大推~
2.设置完毕之后当然是直接开启 Tomcat 运行,通过在服务器上面打开 VisuaLVM (位置在安装JDK的目录下打开/bin中找到 jvisualvm.exe )中打开就能看到 JVM 参数是否正确配置的,如图能看到自己配置的 IP 和 端口正在生效:
3.在 本机 打开 VisuaLVM 打开远程添加你的服务器地址,然后右键添加 JMX 连接
把自己的设置端口输入之后:
情况如下:
连接 Linux 系统下的服务器一次通过,成功连接~
连接 Windows 系统下的服务器直接出现错误,其实本篇文章主要针对这个错误。
初步估计是因为配置的问题,各种找问题,测试一一不通过。。
通过网上的其他案例,没有一个是 Windows 的。。都是 Linux 。。而且一次通过就没又然后了。。我简直捉鸡得不行!
反观 Linux 连接却没任何问题,找着找着到了防火墙这边设置。才发现 Linux 默认是不启用防火墙的!! 呵呵哒~那么所有教程一次通过的服务器基本上就没有开启防火墙????如果是生产环境下,服务器不开启防火墙的???反正我觉得防火墙是必须要开启的。。好吧,这点不详谈,Centos 7 默认使用 Firewall 这里也不介绍怎么使用啦,毕竟主题不是这个。。。
以上的错误,通过查找大量资料原因是端口规则开放的问题,嗯,没错。有防火墙,配置了自己设置端口开放也无法连接!!最后都快放弃的时候看到一篇 jmx rmi 穿越防火墙问题及jmxmp的替代方案 的文章,才知道要端口不是只有一个,是两个!一个是客户端(自己设置的)另一个是每次Tomcat启动时都会生成的一个端口,必须要两个端口一并开放才能正确使用!!
以至于怎么找到另一个端口号,我这买个小关子,如果你也遇到这个问题,留言啊!留言我就回复你!
还有另一种的连接方式我下次有时间会再写出来,主管路过就不写下去了。。sa yo na la