【问题标题】:Node.js: how to debug remotely?Node.js:如何远程调试?
【发布时间】:2016-12-28 05:22:39
【问题描述】:

我有一台 Linux 服务器(操作系统:Centos,ip:192.168.1.100),其中包含我想要调试的节点应用程序。
出于某种原因@office,我必须在远程客户端(ip:192.168.1.7)上工作,因为 Linux 服务器没有 GUI/浏览器。

我确实按照说明使用节点检查器,但没有成功...

这是我所做的:

$ npm --version
2.14.2

$ node --version
v4.0.0

$ npm install -g node-inspector

$ node-inspector --version
Node Inspector v0.12.3

$ node-debug myApp.js
Node Inspector is now available from http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858
Debugging `myApp.js`

Debugger listening on port 5858

如果我打开客户端浏览器到http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 ,我收到错误ERR_ADDRESS_UNREACHABLE

如果我打开客户端浏览器到http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858,结果相同。

如果(出于好奇)我打开 http://192.168.1.100:5858 我会得到:

Type: connect
V8-Version: 4.5.103.30
Protocol-Version: 1
Embedding-Host: node v4.0.0
Content-Length: 0

我确实已经在我的防火墙上打开了端口 8080 和 5858(为了安全起见)(在/etc/sysconfig/iptables 我有:

...
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5858 -j ACCEPT
...

)。

我错过了什么?


更新: 在@aleung 建议之后,我确实将web-host=0.0.0.0 标志添加到node-debug 命令行,但没有取得很大成功:我总是在浏览器中得到ERR_ADDRESS_UNREACHABLE。甚至来自192.168.1.7 客户端的telnet 192.168.1.100 8080 超时。相反,telnet 192.168.1.100 5858 回答:

Type: connect
V8-Version: 4.5.103.30
Protocol-Version: 1
Embedding-Host: node v4.0.0
Content-Length: 0

这可能意味着调试器正在侦听,但仍然无法从客户端界面访问:-(

【问题讨论】:

    标签: javascript node.js debugging node-inspector


    【解决方案1】:

    默认情况下,node-inspector web 服务器监听 127.0.0.1,只接受来自 localhost 的连接。您必须使用选项--web-host=0.0.0.0 在您的服务器上启动节点检查器:

    $ node-debug --web-host 0.0.0.0 myApp.js
    

    然后打开你的客户端浏览器到http://server:8080/?ws=server:8080&port=5858,其中server是你的服务器IP。

    【讨论】:

    • 谢谢!我想你的意思是--web-host,否则我会得到Cannot start web-host=0.0.0.0: not found: web-host=0.0.0.0...但是,虽然你的建议看起来很有希望,但我一直在浏览器上收到ERR_ADDRESS_UNREACHABLE(几秒钟后)...... :-(
    • 请注意,--web-host=0.0.0.0 似乎在做它的工作,因为 netstat 告诉我节点现在正在监听 0.0.0.0:8080,而不是 127.0.0.1:8080 ...
    • @MarcoS 这是--web-host,已修复。
    【解决方案2】:

    节点 7.x

    节点 --inspect :file_name

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 2016-05-23
      • 2017-06-13
      • 2023-03-23
      • 2014-02-05
      • 2018-10-18
      • 2023-03-20
      • 2017-09-20
      • 2014-03-21
      相关资源
      最近更新 更多