jconsole连接远程tomcat

咱们先说怎么做,然后再聊聊一些原理,当然,本人技术能力有限,有错误的地方,欢迎指正。

1.本机环境,远程环境

本机环境:windows 7       java version "1.8.0_121"

远程环境:centos 6.5       java version "1.7.0_79"    tomcat8.5

2.需要修改的内容

1)在远程服务器的{TOMCAT_HOME}/bin下查看有没有setenv.sh这个文件,如果没有则添加这个文件,如果有则修改这个文件

2)setenv.sh文件里的内容如下:

export JAVA_OPTS="
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18080 #jconsole连接时需要的端口
-Dcom.sun.management.jmxremote.authenticate=true #是否需要验证
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password # 验证需要的密码文件
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access  #验证需要的用户文件
-Dcom.sun.management.jmxremote.ssl=true -Djava.rmi.server.hostname=11.168.1.153" #这个是tomcat所在机器的ip

 

 a.jmxremote.password(放在{TOMCAT_HOME}/config下),里面是用户名密码,这个文件必需加上权限控制,chmod 600 jmxremote.password

demon 123456

 b.jmxremote.access(放在{TOMCAT_HOME}/config下),用户权限的控制

demon readonly

3)ok,重启tomcat,然后使用在windows的cmd下打开jconsole

ok,连接成功。

3.现在我们来聊一聊原理以及问题。

1)tomcat重启会报端口被占用的错,就是上面的18080被占用,这个暂时没有想到怎么解决,只是lsof -i tcp:18080找到这个程序,然后kill掉

2)为什么要把配置写在setenv.sh中,其实网上有其它的博客是说放在catalina.sh中,这样也可以,但是放在另一个文件管理岂不是更好?

# 这里catalina.sh中的一段代码,它会去找setenv.sh然后执行它,而setenv.sh中的代码其实就是export一个变量
if
[ -r "$CATALINA_BASE/bin/setenv.sh" ]; then . "$CATALINA_BASE/bin/setenv.sh" elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then . "$CATALINA_HOME/bin/setenv.sh" fi

 3)如果上述操作仍然连接不上,此时就要考虑防火墙等问题了,centos关闭防火墙的命令是service iptables stop(还有其它的方式)。

欢迎一起讨论。

 

端口占用的问题已经解决,修改setenv.sh文件中的JAVA_OPTS为CATALINA_OPTS,原因:

Setting these properties in JAVA_OPTS tries to start a jmx server when you start tomcat AND when you shutdown tomcat. Hence the port already in use exception. You need to set these properties for CATALINA_OPTS instead of JAVA_OPTS. This will only run when you start tomcat

意思是,当你设置为JAVA_OPTS设置这些值的时候尝试去启动了一个jmx服务当你启动与关闭tomcat的时候,因此这个端口抛出被占用的异常。你需要为CATALINA_OPTS设置这些值而不是JAVA_OPTS,这样只有启动tomcat时才会启动jmx服务

其实意思就是如果JAVA_OPTS设置了那些值的话,tomcat在启动跟关闭都会启动一个jmx服务,在启动时端口已经用了,所以关闭的时候会报错。

转载于:https://www.cnblogs.com/yummykang/p/7268117.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值