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

我有一个windows box和一台运行CentOS的虚拟机。 有人碰巧知道如何使用PHPStorm来调试节点CLI脚本(不打开端口)吗? “编辑配置”似乎只支持连接到某处而不是监听传入的连接。


确保你已经安装了nodejs插件。

如果您的服务器有可用的平衡器包(我的EC2盒没有),您可以使用本教程将端口转发到平衡器。

yum install balance -yt
balance -df 8585 127.0.0.1.5858

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

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

在这个eclipse调试工具中(接近底部)也有一个简单的节点脚本,它将把本地调试通过隧道传输到远程主机。

但是一旦我走到了这条路上,我就没有看到这一点,因为我熟悉SSH。 所以最终,我使用SSH隧道并设置了PHPStorm来调试本地主机。 SSH隧道使用腻子

PHPStorm配置


对于非Windows用户,以下是如何使用ssh设置端口转发隧道:

ssh -f ssh_user@your-remote-host -L local_port:localhost:port_on_remote -N

这意味着“ssh to 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

(根据这个howto,我花了一些时间来弄清localhost片)。

链接地址: http://www.djcxy.com/p/52655.html

上一篇: How to remote debug Node JS with PHPStorm?

下一篇: How do I debug node.js errors when my code is nowhere in the stack trace?