gpt4 book ai didi

eclipse - Amazon EC2- Tomcat 远程调试问题

转载 作者:行者123 更新时间:2023-11-28 21:48:55 24 4
gpt4 key购买 nike

我在 Amazon Linux EC2 实例上运行了 Tomcat 8。我通过 ./catalina.sh jpda start

在 Debug模式下启动了 Tomcat

我认为服务器以 Debug模式启动,因为我可以看到以下行:Listening for transport dt_socket at address: 8000 在日志的开头。我的安全组还为入站请求打开了 8000 个端口。

我正在尝试从 Mac El Capitan 上的 Eclipse Mars 4.5.1 远程调试它。但它一直给我错误 无法连接到远程虚拟机。连接被拒绝。

有什么我想念的吗?我可以通过什么方式对此进行更多调试?

---编辑更多信息---

添加更多信息。不知道有没有用。

运行命令:netstat -an | grep 80 给出以下输出:

tcp        0      0 127.0.0.1:8000              0.0.0.0:*                   LISTEN      
tcp 0 0 172.31.26.122:80 185.30.165.34:80 SYN_RECV
tcp 0 0 127.0.0.1:3306 127.0.0.1:55080 ESTABLISHED
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN
tcp 0 0 :::8009 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 ::ffff:127.0.0.1:55080 ::ffff:127.0.0.1:3306 ESTABLISHED
udp 0 0 0.0.0.0:980 0.0.0.0:*
udp 0 0 :::980 :::*
unix 2 [ ACC ] SEQPACKET LISTENING 8016 @/org/kernel/udev/udevd
unix 3 [ ] DGRAM 8025
unix 3 [ ] DGRAM 8024

但是运行命令 netstat -an | grep 8000 只给出:

tcp        0      0 127.0.0.1:8000              0.0.0.0:*                   LISTEN 

还有一件事我注意到了。服务器信息下Tomcat管理器中的IP与实际公网IP不同。这是预期的吗?

最佳答案

我遇到了完全相同的问题。原因是 Tomcat 仅在本地主机上监听端口 8000。要让 Tomcat 能够听到外界的声音,我们需要告诉它外界的 IP。由于 Tomcat 默认使用用户“tomcat”启动,因此该地址应位于 catalina.sh 预期的位置。这就是我最终解决它的方式:

  1. 导航到安全组并为您将用于远程调试的端口添加自定义 TCP 规则。如果可能,将源 IP 限制为您使用的网络的 IP。我家的 ADSL 有一个静态 IP,我只允许我自己访问远程调试端口。
  2. 在与“catalina.sh”相同的文件夹中创建一个“setenv.sh”文件,通常在“/usr/share/tomcat/bin/”下
  3. 只添加一行:

    export JPDA_ADDRESS={host private IP}:{port}

    {host private IP} 替换为您的 EC2 实例私有(private) IP,并将 {port} 替换为您计划用于远程调试的端口号。我不知道 EC2 公共(public) IP 是否有效。懒得去尝试。

  4. 必要时更正所有者和组(例如 tomcat:tomcat):

    sudo chown tomcat:tomcat setenv.sh
  5. 启用执行位

    sudo chmod a+x setenv.sh
  6. 启动或重新启动 Tomcat 使用

    catalina.sh jpda start

关于 EC2 的私有(private)和公共(public) IP。是的,我使用“netstat”观察到同样的事情。

关于eclipse - Amazon EC2- Tomcat 远程调试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35321940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com