我有一个Linux服务器(os:Centos,ip:192.168.1.100)和我想要调试的节点应用程序。
出于某种原因@office我必须在远程客户端(ip:192.168.1.7)上工作,因为Linux服务器没有GUI /浏览器。
我确实按照指令使用了node-inspector,但没有成功......
这是我做的:
$ 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
。即使来自telnet 192.168.1.100 8080
客户端的192.168.1.7
也是如此
倍出。相反,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 :(得分:2)
默认情况下,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。
答案 1 :(得分:0)
节点7.x
node --inspect:file_name