zoukankan      html  css  js  c++  java
  • javajvisualvm远程监控云服务器上的Tomcat7

    一、修改要访问的远程主机(Linux)tomcat的catalina.sh文件

    1、打开$CATALINA_HOME/bin/catalina.sh,添加如下内容:

    JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Djava.rmi.server.hostname=云服务器的IP -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

    二、修改腾讯云服务器的公网IP

    网上说要修改服务器的公网IP,不过,我试过之后,这一步不设置也不会影响连接腾讯云服务器的tomcat。

    连接服务器地址可以写为公网地址,linux使用命令 hostname -i 查看输出是否为公网地址,不是的话修改/etc/hosts文件,指向公网地址。

    [root@VM-0-10-centos bin]# hostname -i
    ::1 127.0.0.1

    进入/etc

    cd /etc
    vim hosts

    修改如下:将127.0.0.1改为腾迅云服务器公网IP

    云服务器公网IP VM-0-10-centos VM-0-10-centos
    127.0.0.1 localhost.localdomain localhost
    127.0.0.1 localhost4.localdomain4 localhost4
    
    ::1 VM-0-10-centos VM-0-10-centos
    ::1 localhost.localdomain localhost
    ::1 localhost6.localdomain6 localhost6

    三、重启Tomcat服务

    四、使用命令 lsof  -i:9999 查看端口号是否被监听。

    [root@VM-0-10-centos bin]# lsof -i:9999
    COMMAND  PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
    java    4072 root   22u  IPv6 46891175      0t0  TCP *:distinct (LISTEN)

    要看监控状态为LISTEN表示已经被占用,也就是说9999将被监听。

    五、使用命令 netstat -antup |grep [pid] 查看两个随机端口

    jps查看tomcat进程id

    [root@VM-0-10-centos bin]# jps
    9782 Jps
    4072 Bootstrap

    查看该pid的

    [root@VM-0-10-centos bin]# netstat -antup | grep 4072
    tcp6       0      0 :::45023                :::*                    LISTEN      4072/java           
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      4072/java           
    tcp6       0      0 :::8009                 :::*                    LISTEN      4072/java           
    tcp6       0      0 :::36361                :::*                    LISTEN      4072/java           
    tcp6       0      0 :::9999                 :::*                    LISTEN      4072/java           
    tcp6       0      0 :::8080                 :::*                    LISTEN      4072/java 

    会发现tomcat多开启了两个端口号 45023、36361。

    因为当我们添加 -Dcom.sun.management.jmxremote.port 参数后不只会开启指定的端口,还会随机开启两个端口号,一个作为Jms的数据通讯端口,另一位作为jconsole的本地连接端口。从阿里云控制台开放指定端口和两个随机端口,如果开启有防火墙,同样放开,不然会导致连接不上。

    注意:腾旭云的安全组中一定要放开两个随机端口,否则连接不上。这是第二个大坑。注意:每次启动tomcat,这两个随机端口都会改变。

    六、打开jvisualVM连接腾旭云服务器的tomcat

    连接上后效果如下:

  • 相关阅读:
    Lock wait timeout exceeded; try restarting transaction linux设置mysql innodb_lock_wait_timeout
    用NaviCat创建存储过程批量添加测试数据
    mysql存储过程语法及实例
    mysql中迅速插入百万条测试数据的方法
    mysql学习之通过文件创建数据库以及添加数据
    有用的网站集合
    VMware Workstation虚拟磁盘文件备份或移植
    CoreData修改了数据模型报错 The model used to open the store is incompatible with the one used to create the store
    iOS中自定义UITableViewCell的用法
    golang make()的第三个参数
  • 原文地址:https://www.cnblogs.com/zwh0910/p/15780672.html
Copyright © 2011-2022 走看看