JVM —jcosole 连接远程Tomcat服务器 全攻略

2 篇文章 0 订阅
1 篇文章 0 订阅

Tomcat 和Linux 机器

*第一步

首先修改远程服务器的配置
修改bin 目录下的catalina.sh文件增加下面的内容。
第一行是自己JVM内存配置,根据自己实际情况配置,可用默认的。
下面的if else语句增加是判断启动或者杀服务的时候 防止报配置端口占用的错误。不增加不影响功能,可以强制杀进程。
核心语句是中间5行JAVA_OPTS。(下面内容按顺序添加到内存配置下面即可)

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"
if [ "$1" = "start" ];then
  echo "set console";
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=10.188.130.40 -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9000"
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=/***/jdk1.7.0_65/jre/lib/management/jmxremote.password"
 else
  echo "no startup";
  fi; 

注意:Djava.rmi.server.hostname 配置为远程(连接目标)服务器的IP(可以用hostname -i命令查看,不是需要修改配置文件,不可以是127.0.0.1)
端口需要选用一个未被占用端口,可能需要配置相关防火墙策略。保证连接机器可以正常访问到远程服务的地址和端口即可。
注释:authenticate 表示是否启用密码验证。true 需要, false 不需要。 ssl 是否启用SSL验证。默认设置false
authenticate 设置为true 则需要配置 jmxremote.pwd.file 这一行,不配置屏蔽这一行即可。
jmxremote.pwd.file 这一行内容为JDK中jre目录。
在这里插入图片描述

第二步:

在远程服务器的JDK 中修改配置策略
查看服务器JDK安装目录
echo $JAVA_HOME 或者java -verbose 或者 which java。
进入到/***/jdk1.7.0_65/jre/lib/management 文件夹
关注 jmxremote.access 和 jmxremote.password.template 文件。
在 jmxremote.access 文件末尾有如下代码:

monitorRole   readonly
controlRole   readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister

monitorRole 代表账号名称 readonly 代表只读权限
controlRole 代表另一个账号的名称 readwrite 代表有写权限。
在 jmxremote.password.template 文件末尾有如下代码:

#monitorRole  QED
 #controlRole   R&D

将jmxremote.password.template 文件复制一份放在此目录命名为
jmxremote.password文件。
这两个文件是相互对应的,分别代表两个账号密码和对应权限。
用户名: monitorRole 和 controlRole
密码 : QED 和 R&D
这两个文件的用户名和密码可以自己编辑,用户名要相互对应。
注意:如果上面第一条里面密码设置成true那么就需要修改这两个文件,
文件编辑修改完成需要配置权限,不然会报错。如下设置即可:
chmod 600 jmxremote.password jmxremote.access
(赋予 服务器当前用户读取和写入权限)
在这里插入图片描述

第三步:

启动服务,通过端口命令,可以查看是否启用了服务
netstat -an | grep 9000

第四步:

本地JDK文件夹下启动jconsole.exe文件或者 ./jconsole
我的目录是:
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin
在这里插入图片描述
在远程进程框中输入远程服务器的IP和端口,配置密码则输入用户名和密码,没有配置则点击连接。
在这里插入图片描述
没有配置SSL,点击不安全的连接,即可连接。如下图:
在这里插入图片描述
有任何问题:欢迎探讨交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值