Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >idea 远程调试 tomcat web应用

idea 远程调试 tomcat web应用

作者头像
老白
发布于 2018-03-19 08:20:00
发布于 2018-03-19 08:20:00
1.7K00
代码可运行
举报
文章被收录于专栏:架构之路架构之路
运行总次数:0
代码可运行

最近在做的一个东西,测试环境和本地环境差距太大,本地能运行的代码,放到测试环境上到处报错,哪里哪里都连不上,所以决定把代码部署到远程服务器上调试,节省时间。

网上看了很多教程,大部分都是互相抄来抄去,照做了也调不通,所以决定把自己的步骤发上来,但是不会对这些步骤作详细解释,需要明白原理的童鞋请自行百度...


远程环境:debian 7 ,tomcat7 , jdk1.8

本地:win7,tomcat7,jdk1.8,idea2017

默认jdk均已安装好。

1.远程tomcat配置:

部署在/home/YOUR_USERNAME/apache-tomcat-7.0.82

  • conf/server.xml

  这个文件里要配置的东西其实不多。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Connector port="12345" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="12346" />
<!--  这里是如果不想使用默认的8080端口 改成12345 ajp什么的同理-->
  • bin/catalina.sh 

  这个文件里在开头加三行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12347 ##这个地方是jmx调试端口,需要和idea对应,下文会说明
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=debian"

export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=56723,suspend=n,server=y" ##这里的address也要和idea里的对应

export JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=12347 ##同上一个12347
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false -Xdebug"

然后,启动tomcat: bin/catalina.sh jpda start

注意 不要用其他命令启动

2.idea相关配置

  • 第一处,本地要有和远程服务器上完全相同的tomcat版本
  • 第二处,浏览器的位置填的是http://远程服务器:端口号
  • 第三处,jmx端口,要跟catalina.sh里面填的端口相同
  • 第四处,staging方式,我选的是用sftp上传到远程环境上,这种方式要求远程服务器开启了ssh并且配置了sftp服务,这里可以根据你怎么方便怎么来。sftp这里host后面的那三个点点开后的配置里只用填第一个tab,后面空着。path from root 是/apache-tomcat-7.0.82/webapps ,mapped as是/home/YOUR_USERNAME/apache-tomcat-7.0.82/webapps,因为我在设定host时,设定root是/home/YOUR_USERNAME/。
  • 第五处,host就是远程主机名,port就是之前在connector中定义的端口号。
  • 最后,before launch的选项卡下,build artifact时选 war,不要选war exploded

3.之前的catalina.sh中配置的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export JPDA_OPTS=

这一行,实际上是和idea的以下部分对应:

 OK,接下来就可以在程序中打断点,并且开启调试了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用JConsole监控Tomcat
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM。可以监控本地和远程的java程序。
星哥玩云
2022/07/04
1.6K0
用JMX远程监控Tomcat
注意:此配置添加在catalina.bat文件开头的注释行(rem或#)后面即可。
流柯
2018/08/31
2.2K0
用JMX远程监控Tomcat
Apache Tomcat Remote Code Execution(CVE-2016-8735)
​ 这个漏洞实质还是JMX反序列化漏洞,tomcat同样也用了JmxRemoteLifecycleListener这个监听器,但是tomcat在Oracle修复这个漏洞后自己没有及时更新,导致了反序列还依旧存在。网上搜了很多关于该漏洞的分析文章基本上都是0c0c0f牛在微信公众号里文章的转载或是变种,也基本都是在window系统上做的测试,所以也就想在linux也测试一下,也就有了这篇文章,大牛们勿喷呐= =、。
风流
2019/12/10
1.3K0
Apache Tomcat Remote Code Execution(CVE-2016-8735)
Tomcat开启JMX监控详解
      # cd /opt/tomcat/apache-tomcat-8.0.48/bin/
星哥玩云
2022/07/29
5.1K0
Tomcat开启JMX监控详解
jvisualvm.exe远程连接tomcat
花时间实践了下jvisualvm.exe远程监控tomcat jvisualvm.exe 是java自带一个jvm监控可视化工具,在%JAVA_HOME%/bin下 jvisualvm有两种方式监控jvm,分别是JMX和jstatd.自己实践的是JMX方式 环境:(java 1.7,tomcat7.0 centos6.4) 1,首先先打开tomcat jmx功能 在%Tomcat_Home%/bin下,建立setenv.sh文件(注意文件名,多说一句,tomcat不建议直接改catalina.sh文件的。推
技术蓝海
2018/04/26
1.7K0
jvisualvm.exe远程连接tomcat
Zabbix 监控Tomcat
在zabbix-server段需要安装zabbix-Java-geteway,需要在zabbix的官方下载,地址如下:
星哥玩云
2022/07/03
8460
Zabbix 监控Tomcat
Jconsole远程监控tomcat 的JVM内存(linux、windows)
Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具。
流柯
2018/08/30
3.3K0
JConsole监控远程WebLogic和Tomcat
JConsole可以对远程主机上的Java进程的内存使用情况进行监控。本文将讲解如何使用JConsole监控远程主机上的WebLogic和Tomcat。
星哥玩云
2022/07/04
1.8K0
JConsole监控远程WebLogic和Tomcat
细说tomcat之应用监控
官网:http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html
编程随笔
2019/09/11
1.4K0
细说tomcat之应用监控
zabbix监控jvm内存
Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况
陈灬大灬海
2019/09/12
5.4K2
zabbix监控jvm内存
远程监控tomcat运行
插件下载地址:https://github.com/oracle/visualvm/releases
BUG弄潮儿
2022/06/30
1.2K0
远程监控tomcat运行
Linux下Tomcat启动报错:port already in use
Linux下Tomcat启动报错:port already in use,导致该问题的原因很多,标题说明不了具体问题。
星哥玩云
2022/06/30
2.2K0
windows下使用jconsole远程监控Tomcat
首先检查远程服务器hostname -i 192.168.1.190 1.编辑tomcat/bin/catalina.sh vi catalina.sh 搜索 Execute The Requested Command 在这一行上面加入一下配置 JAVA_OPTS='-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.rmi.server.hostname=192.168.1.190 -
小柒2012
2018/04/13
1.1K0
windows下使用jconsole远程监控Tomcat
学习笔记0530----Tomcat扩展
分别复制tomcat目录下的 conf logs temp webapps work 这5个目录到 test1 和 test2下。
嘻哈记
2020/11/24
6510
配置远程JConsole
JDK自带工具JCONSOLE,可以以图形界面远程监控JVM的情况,也可作相应的一些操作。
星哥玩云
2022/07/04
1K0
基于JVisualVM的可视化监控
本小节我们介绍一下如何使用JDK自带的jvisualvm工具来监控本地的Java进程,该工具是一个图形化的监控工具。
端碗吹水
2020/09/23
2.3K0
基于JVisualVM的可视化监控
VisualVM工具
VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。
乐心湖
2021/01/18
8520
VisualVM工具
JVM 监控工具 jstack 和 jvisualvm 的使用
* 等待:waitting(无限期等待),timed waitting(限期等待)
大道七哥
2019/09/10
1.5K0
JVM 监控工具 jstack 和 jvisualvm 的使用
tomcat cpu占用过高,系统负载高问题跟踪
2011-09-06 线上8核 linux服务器,负载为8为正常情况,目前CPU负载过高,最高负载30多,平均负载在20左右,已经持续近一周,具体占用CPU资源的服务是tomcat_sc,占用CPU资源高达:720% 使用jconsole去跟踪 更改catalina.sh 启动设置: $ CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8933 -Dcom.sun.manageme
架构师刀哥
2018/03/20
2K0
Zabbix使用Zabbix-java-gateway监控Tomcat
Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦。所有后来为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序:zabbix 2.0以后添加了服务进程zabbix-java-gateway;Java有了JMX,全称是Java Management Extensions,即Java管理扩展。
王先森sec
2023/04/24
8110
Zabbix使用Zabbix-java-gateway监控Tomcat
相关推荐
使用JConsole监控Tomcat
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档