如何使用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来调试本地主机。
对于非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
片)。
上一篇: How to remote debug Node JS with PHPStorm?
下一篇: How do I debug node.js errors when my code is nowhere in the stack trace?