我有一個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