Linux下多项目情况下使用tomcat与Idea进行远程调试,连接超时,连接不上,拒绝连接

2 篇文章 0 订阅

1.保证本机的代码与Linux服务器上的代码一致,且网速稳定

2.在idea中添加并配置远程Tomcat-Remote

在Host与Post 分别填写远程Linux服务器的IP地址与项目访问端口

第二步配置很关键,在上图中的Post为Tomcat调试进出入端口,必须保证本机与服务器的此号端口有开启,端口号不一定是5005,但是必须是未被占用的端口,如过本机是Windows可以暂时关闭防火墙 

3. 将调试信息拷贝到远程需要调试的tomcat/bin/catalina.sh文件中。

JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,suspend=n,server=y"

拷贝到catalina文件的上方即可 

然后先在tomcat/bin目录下关闭Tomcat,再使用./catalina.sh run重启tomcat ,如果尝试能远程调试,则可省略以下步骤。

4.服务器Tomcat连接超时或者拒绝连接

4.1以上的catalina.sh中的拷贝字符串需要换

JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.rmi.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname="
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
export JAVA_OPTS

特定解析:

在网上我也搜了好多的教程,但是或多或少的都存在问题,不是连接不成功就是连接超时,其根本问题就是出在了1099端口上。最典型的问题就是

Error running 'TomcatRemote': 

Unable to connect to the xx.xx.xx.xx:1099, reason:

java.rmi.ConnectException: Connection refused to host: xx.xx.xx.xx; 

nested exception is: java.net.ConnectException: Connection timed out: connect

这个错误根本原因就是服务器的配置出了问题,jmx没有成功启动。

(需要保证1099端口是开启的)

4.2 修改Tomcat/conf下的server.xml

 多项目时,调试端口可能会冲突,所以需要修改

5.重启Tomcat

以前tomcat用的启动方式是./startup.sh

而现在用的是caatalina.sh,就需要用catalina启动,具体命令如下

./catalina.sh run

但这样启动的话会导致当前终端被阻塞,并且关闭终端后无法继续后台运行

因此命令改为:

catalina.sh run > /dev/null 2>&1 &

其中“ > /dev/null 2>&1 &”是Linux中的命令:把标准输出和出错处理都放到回收站,这样就免得一大堆输出占领你的屏幕。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值