我有一个Linux服务器(操作系统:CentOS,IP:192.168.1.100)与我想要调试的节点应用程序。
由于某些原因@office我必须在远程客户端上工作(ip:192.168.1.7),因为Linux服务器没有GUI /浏览器。Node.js:如何远程调试?
我没有按规定使用节点检查的指令,没有成功...
这里是我做过什么:
$ 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
...
)。
我错过了什么?
UPDATE: @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
这可能意味着调试器监听,但它仍然是从客户端界面:-(
谢谢!我想你的意思是 - 网络主机,因为否则我得到'无法启动网络主机= 0.0.0.0:未找到:网络主机= 0.0.0.0' ...但是,虽然你的建议看起来很有希望,我保持在浏览器上获得'ERR_ADDRESS_UNREACHABLE'(几秒钟后)... :-( – MarcoS
请注意,--web-host = 0.0.0.0似乎在做它的工作,因为netstat告诉我节点正在监听0.0.0.0:8080,而不是127.0.0.1:8080 ... – MarcoS
@MarcoS它是'--web-host',修复了。 – aleung