如何使用PHPStorm远程调试Node JS?

时间:2011-12-09 12:34:40

标签: debugging node.js phpstorm

我有一个Windows框和一个运行CentOS的VM。有没有人碰巧知道如何使用PHPStorm调试节点CLI脚本(不打开端口)? “编辑配置”似乎只支持连接某个地方而不是监听传入连接。

2 个答案:

答案 0 :(得分:9)

确保安装了nodejs plugin

如果您的服务器有可用的平衡器包(我的EC2盒没有),您可以use this tutorial转发带有平衡器的端口。

yum install balance -yt
balance -df 8585 127.0.0.1.5858

许多报告成功使用iptables重定向从eth0到lo(对我来说不起作用),如下所示:

iptables -t nat -A PREROUTING -p tcp -m tcp -i eth0 --dport 5858 -j DNAT --to 127.0.0.1:5858

还有一个简单的节点脚本described in this eclipse debugging tut(靠近底部),它将本地调试隧道传送到远程主机。

但是,一旦我走得那么远,我就没有看到这一点,因为我熟悉SSH。最后,I went with an SSH tunnel并设置PHPStorm来调试localhost。 SSH Tunnel using putty

PHPStorm configuration

答案 1 :(得分:6)

对于非Windows用户,以下是使用ssh:

设置端口转发隧道的方法
ssh -f ssh_user@your-remote-host -L local_port:localhost:port_on_remote -N

这意味着“ssh到your-remote-host,登录为ssh_user。一旦打开与localhost:port_on_remote的连接,并在运行ssh的机器local_port处公开此连接”。

非显而易见的部分是你需要使用localhost,因为Node的调试器只将自己绑定到localhost的ip地址(而不是your-remote-host将解析的地址)。

实际值的示例:

ssh -f me@nodeserver.com -L 5858:localhost:5858 -N

(基于this howto,我花了一些时间来弄清localhost篇。