resin4.0服务器远程调试说明

1、开发环境介绍:

目前dev用resin 作为服务容器。服务调用之间过于复杂,要进行本地代码调试过于复杂,甚至无法进行。但是可以通过jvm的远程代码调试来达到本地代码调试的目的,步骤如下。

2、resin4(dev环境版本为resin4) 环境远程服务搭建步骤:

//1.确定服务器上resin的版本。进入resin服务的bin目录;例如pk服务的目录是:/data/app/resin_pk/bin/ ,在服务部署的服务器上执行命令:
sh resin.sh version
//确认版本信息是4.0版本: Resin-4.0.27 (built Thu, 22 Mar 2012 06:14:10 PDT)
 
//2.先在远程的resin修改conf(pk服务的conf目录为:/data/app/resin_pk/conf)中resin.xml配置文件 在<server-default>标签中添加 红色字体的两行

<server-default>

<!-- 在本行注释下面添加JVM标签 -->
        <http address="*" port="9991"/>
       <jvm-arg>-Xdebug</jvm-arg>
        <jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8889</jvm-arg>
    </server-default>

//说明 :这两行参数开启了JVM的远程debug模式,并将端口 8889作为远程调试的端口

//3.以上配置完成以后重启resin服务器,进入resin的bin目录执行:
sh resin.sh stop
sh resin.sh start
//说明,此处用restart命令应该也可以,我当时用restart后没有查到端口号,可能是查询太早了,没有等服务完全启动。
//4.查看端口号,确认远程端口开启成功。如果能查询到内容证明端口开启成功,查询不到则没有开启成功。注意,要等服务完全启动后再查询,否则可能查询不到。
netstat -an | grep 8889
 
//6.需要运维同学配置nginx端口转发,将应用部署服务器的8889端口映射到外网端口(因为外网无法直接访问dev服务器)
nginx配置完毕后,后向运维同学询问nginx外网对应的ip和端口号。
//7.在本地的mac电脑上执行telnet命令查询nginx端口是否转发成功。例如nginx对外的ip地址是:54.223.118.178 应用对外映射的端口号是:8889
telnet 54.223.118.178 8889
//如图则开启成功,否则nginx配置的转发失败,找运维确认。

3、在idea中配置远程的ip和端口,并选定应用进行调试:

run选项中→ Edit Configuration→  左上角 + 号 → 选择新建remote 选项

最后给远程服务取一个名字,填写nginx的ip和端口,选择远程部署的项目并保存,这时就大功告成了。

调试使用:只需要选择刚才新建的名称,点击debug,选择在对应的方法打上断点;服务在调用远程dev上的接口时就会进入本地的idea代码。

最后确定远程debug服务是否成功,点击debug运行后出现类似以下内容说明远程debug连接成功。

4、JVM远程调试整体架构图:

原文地址:https://www.cnblogs.com/zhangshiwen/p/8894231.html

时间: 2024-11-02 18:28:52

resin4.0服务器远程调试说明的相关文章

tomcat 7.0 jmx远程调试

一.tomcat开启jmx 启动脚本中添加 CATALINA_OPTS="-Djava.rmi.server.hostname=本机IP      -Dcom.sun.management.jmxremote      -Dcom.sun.management.jmxremote.port=端口      -Dcom.sun.management.jmxremote.authenticate=false      -Dcom.sun.management.jmxremote.ssl=false

SpringBoot2.0(四) 远程调试

和tomcat远程调试近似的配置,主要的配置如下所示: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=10009 在启动springboot打包的jar时,将其加入参数中: java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=10009 test.jar 这样服务端就监听1009这个端口. 以idea示例: 配置一个

weblogic远程调试XMLDecoder RCE

首先说一下远程调试的配置,首先在weblogic的启动文件加入如下配置,开启服务器远程调试端口就是9999: 第二步,建立一个java的空项目. 第三步将weblogic的所有jar包拷出来,放到一个文件中. 第四步把jar包导入idea的lib配置中 第五步添加一个remote,端口修改为9999 在加入的jar包打断点后,点击debug小瓢虫的图标就能进一步调试了 下面开始说xmldecoder的反序列化: xmldecode,xmlendoer是将xml文件转化成java bean,简单的

使用Eclipse进行远程调试

转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,  我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题. 什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的意义我

使用Eclipse远程调试Tomcat

有些时候,调试不得不用外网,比如说做支付宝的支付接口,服务器后台通 知就不得不用外网的ip.无奈,只能扔到服务器远程调试了. 网上讲关于远程调试tomcat的倒是蛮多,基本都是将改啥catalina.sh,startup.sh的,操作还是复杂点.下面这篇就只针对于 linux下的tomcat远程调试,不用改啥文件,简单而又没啥副作用.本人在tomcat6 的情况下远程调试成功. 相信很 多J2EE的开发者都是在Windows上面开发程序,然后把程序上传到Linux下运行的吧.可是有时候在自己机器

【Java】使用Eclipse进行远程调试,Windows下开启远程调试

原博链接:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/03/23/2211109.aspx 我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题. 什么是远程调试,就是在A机器上利用Eclipse单

使用Eclipse进行远程调试【转】

今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/03/23/2211109.aspx 我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题. 什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的

MyEclipse使用教程:MyEclipse的远程调试

注意:此功能在MyEclipse 2015中被重新设计,目前是不可用的. 1. 简介 这是一个关于讨论配置和调试在应用程序服务器上运行而不使用MyEclipse服务器启动连接器的应用程序的高级教程,无论MyEclipse是在同一台计算机上运行或是在不同的计算机上运行都可.对于一般易于配置和调试的应用程序,强烈建议MyEclipse服务连接器可用于应用服务器中的所有服务器操作详细教程.在执行本教程之前,请仔细阅读它. 有时候可能使用MyEclipse的连接器来启动应用程序服务器是不方便的.例如,你

IDEA远程调试服务器代码

先在idea添加一个remote,host填服务器ip,port填监听服务器端口,默认5005 然后在服务器tomcat catalina.sh 添加(红色部分): JAVA_OPTS="$JAVA_OPTS -Dsuperdiamond.projcode=desktop-web -Dsuperdiamond.host=***.***.***.*** -Dsuperdiamond.port=8283 -Dsuperdiamond.profile=production -agentlib:jdwp