为了便于对远程服务器中的tomcat进行管理,尤其是能监控tomcat的运行状态,获取参数是非常重要的,而如果能以直观的形式查看,那是极好的。
废话不多说,下面就进行简单的描述:
1,进入服务器中tomcat的bin目录下,编辑catalina.sh
vi tomcat/bin/catalina.sh
把下面这句添加到第二行(即#!/bin/sh的下一行,插入的下面这是一行)
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.18.131 -Dcom.sun.management.jmxremote.port=10001
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
//包括服务器的IP,监控端口(未被使用的),尤其是authenticate表示认证,远程连接监控的时候是否需要账号密码,这里不需要,直接可以连接,后面讲需要的情况下如何设置
2,linux中命令hostname -i显示的最好是服务器的IP,如果是127.0.0.1,最好设置成局域网或公网的IP而不是回环IP,设置的命令是hostname -v newhostname
最好也进入 /etc/hosts文件看看,如果是127.0.0.1 localhost形式的,也把127.0.0.1改成上面的IP,不然可能会出现解析问题,修改后可能需要重启
1,2步设置好后需要重启tomcat,使配置生效
3,在windows中打开与服务器上同版本的jdk,在bin目录下点击jvisualvm.exe后,左边包括本地监控与远程监控,右击远程选添加远程主机,主机名就是服务器IP,确定;
保存后点击远程的下一级中刚添加的远程主机,右击添加JMX连接,这个时候只要添加设置好的端口,即可连接上服务器进行监控了
如果觉得不够安全,也是可以添加认证的,那就需要把authenticate改成true,还需要引入认证文件,简单描述下应该能看懂:
a,到服务器的jre(不是开发环境,所以jre足够)的lib下文件management路径下复制jmxremote.password.template,把复制的文件去除后缀template,然后进去把最后两行的注释去除,这两行是账号和密码,可修改
b,改模式添权限:把password文件的操作模式改成600,当前用户可读写rw
c,在刚才的1中添加对密码文件的引用-Dcom.sun.management.jmxremote.pwd.file=password文件路径
然后就可以在有认证情况下远程连接了。
jdk的功能还有很多,遇到的时候再研究,慢慢就成长了