10

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

4

2 回答 2

9

确保您已安装nodejs 插件

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

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

在这个 Eclipse 调试教程(靠近底部)中还描述了一个简单的节点脚本,它将您的本地调试隧道传输到远程主机。

但是一旦我走得那么远,我就没有看到这一点,因为我熟悉 SSH。所以最终,我使用 SSH 隧道并设置 PHPStorm 来调试 localhost。 使用 putty 的 SSH 隧道

PHPStorm 配置

于 2012-04-02T20:52:10.493 回答
6

对于非 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件作品)。

于 2015-03-05T00:02:35.830 回答