一尘不染

远程调试Tomcat 7 CentOS 7

tomcat

我已经阅读了有关此主题的每个stackoverflow问题,因此请在搜索该问题1秒钟并链接到顶部SO帖子后,不要尝试将其标记为重复,这是因为它们遇到的错误和解决方案相同他们,并不意味着它将针对我的特定设置。有了这个…

希望有人可以在这里帮助我,并努力在一天中的大部分时间里都可以正常工作,

我正在尝试设置从IntelliJ到Tomcat的远程调试,但是现在忘记intellij了,因为我还没有开始,所以我试图首先在服务器上进行设置,然后尝试设置tomcat,以便它可以接受那些连接,但是当我添加jdwp标志/参数时,tomcat将不会出现以下错误。

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.

我已经尝试了多种方法。

-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在具有以下CentOS AMI“ CentOS Linux 7 x86_64 HVM EBS 1602”的AWS EC2实例上

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

Java版本openjdk版本“ 1.8.0_242” OpenJDK运行时环境(内部版本1.8.0_242-b08)OpenJDK
64位服务器VM(内部版本25.242-b08,混合模式)

如果删除我一直添加的参数,tomcat可以正常工作。

有谁知道为什么会发生此错误,为什么我不能让tomcat从任何这些开始

我主要在JAVA_OPTS下的/ etc / sysconfig / tomcat中进行了设置,但是尝试了其他位置

我现在迷路了

编辑,我现在要上床睡觉,但是明天早上看一下所有答案,我将向任何帮助我解决这50欧元问题的人致以深深的感谢,这是如何赏金的


阅读 288

收藏
2020-06-16

共1个答案

一尘不染

对于其他在centos7上执行此操作并遇到相同问题的人,在尝试了一百万次操作之后,这就是解决问题的方法…

Folks, this has nothing to do with the tomcat configuration. It is the SELinux on RHEL and CentOS boxes preventing the read write permissions on folders not associated with default tomcat installation. To fix this, install the SELinux management tool and set permissive for tomcat_t SELinux type.

yum install selinux-policy-devel

semanage permissive -a tomcat_t
2020-06-16