首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 7和CentOS 7中的远程调试

问Tomcat 7和CentOS 7中的远程调试
EN

Stack Overflow用户
提问于 2020-05-27 23:30:41
回答 1查看 507关注 0票数 1

我正在尝试将远程调试从IntelliJ设置到Tomcat,但是暂时忘了IntelliJ,因为我还没有开始使用它。我尝试在服务器上设置它,我尝试设置tomcat以便它可以接受那些连接,但是当我添加jdwp标志/参数时,tomcat将不会以下面的错误开始。

代码语言:javascript
复制
May 27 23:02:58 lab5 server: ERROR: transport error 202: bind failed: Permission denied
May 27 23:02:58 lab5 server: ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)    
May 27 23:02:58 lab5 server: JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
May 27 23:02:58 lab5 systemd: tomcat.service: main process exited, code=exited, status=2/INVALIDARGUMENT        
May 27 23:02:58 lab5 systemd: Unit tomcat.service entered failed state.
May 27 23:02:58 lab5 systemd: tomcat.service failed.

我尝试过多种方法。

代码语言:javascript
复制
-Xdebug -Xrunjdwp:transport=dt_socket,address=myec2privateip:2345,server=y,suspend=n \
-agentlib:jdwp=transport=dt_socket,address=myec2privateip:2345,suspend=y,server=n \
-agentlib:jdwp=transport=dt_socket,address=myec2privateip:2345,suspend=y,server=y \
-agentlib:jdwp=transport=dt_socket,address=myec2privateip:2345,suspend=n,server=y \
-agentlib:jdwp=transport=dt_socket,address=myec2privateip:2345,suspend=n,server=n \
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=myec2privateip:2000,suspend=n \
# JPDA_ADDRESS=myec2privateip:32702
# JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=32702"
-agentlib:jdwp=transport=dt_socket,server=y,address=8000 \
-agentlib:jdwp=transport=dt_socket,server=y,address=*:8000,suspend=n \
JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
agentlib:jdwp=transport=dt_socket,address=localhost:39621,suspend=n,server=y -Xdebug
-Xdebug -agentlib:jdwp=transport=dt_socket,address=2345,server=y,suspend=n -Djava.security.debug=all

对于上面我尝试过的端口,它们没有运行。这不是连接超时的问题,也不是防火墙等问题。

Tomcat位于一个AWS EC2实例上,它具有以下CentOS AMI "CentOS Linux 7 x86_64 HVM EBS 1602“

我安装的Tomcat来自于yum,“tomcat-7.0.92-1.el7.noarchch”

Java版本

"1.8.0_242"

  • OpenJDK运行时环境(build 1.8.0_242-b08)

  • OpenJDK 64位服务器VM (build 25.242-b08,混合模式)

)

如果去掉我添加的参数,Tomcat运行得非常好。

为什么会发生这个错误,为什么我不能让Tomcat从这些开始呢?

我一直把它设置在/etc/sysconfig/tomcat下的JAVA_OPTS中,但也尝试过其他地方。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-28 09:17:04

对于任何在Centos7上做这件事并且有同样问题的人来说,在尝试了一百万次之后,这就是解决它的方法.如Mikematic在这里所回答的,https://stackoverflow.com/a/56536805/13223528

与Tomcat配置无关。它是RHEL上的SELinux和CentOS框,防止了与默认tomcat安装无关的文件夹的读写权限。要解决这个问题,请安装SELinux管理工具,并为tomcat_t SELinux类型设置允许性。

yum安装selinux-策略-发展语义允许的-a tomcat_t

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62054521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档