2015-12-14 24 views
6

Tôi có một máy chủ Linux (os: Centos, ip: 192.168.1.100) với ứng dụng nút mà tôi muốn gỡ lỗi.
Vì một số lý do @office tôi phải làm việc trên một máy khách từ xa (ip: 192.168.1.7), vì máy chủ Linux không có GUI/trình duyệt.Node.js: cách gỡ lỗi từ xa?

Tôi đã làm theo hướng dẫn để sử dụng nút-thanh tra, nhưng không thành công ...

Dưới đây là những gì tôi đã làm:

$ 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 

Sau đó, nếu tôi mở trình duyệt khách hàng của tôi để http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 , tôi nhận được lỗi ERR_ADDRESS_UNREACHABLE.

Kết quả tương tự nếu tôi mở trình duyệt của khách hàng là http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858.

Nếu (vì tò mò) Tôi mở http://192.168.1.100:5858 tôi chỉ nhận được:

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

tôi đã làm đã mở cổng 8080 và 5858 (để được ở bên an toàn) trên tường lửa của tôi (trong /etc/sysconfig/iptables tôi có:

... 
-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 
... 

).

Tôi bỏ lỡ điều gì?


CẬP NHẬT: Sau gợi ý @aleung, tôi đã thêm web-host=0.0.0.0 cờ để node-debug dòng lệnh, mà không thành công rực rỡ: Tôi luôn luôn có được ERR_ADDRESS_UNREACHABLE trong trình duyệt. Ngay cả số telnet 192.168.1.100 8080 từ số 192.168.1.7 khách hàng lần trả tiền. Thay vào đó, một telnet 192.168.1.100 5858 câu trả lời:

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

nào có thể có nghĩa debugger đang lắng nghe, nhưng nó vẫn không thể truy cập từ giao diện khách hàng :-(

Trả lời

2

Bằng máy chủ web mặc định nút kiểm viên lắng nghe trên 127.0.0.1, chỉ chấp nhận . kết nối từ localhost bạn phải bắt đầu nút-thanh tra trên máy chủ của bạn với tùy chọn --web-host=0.0.0.0:

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

Sau đó, mở trình duyệt khách hàng của bạn để http://server:8080/?ws=server:8080&port=5858, nơi máy chủ là IP máy chủ của bạn.

+0

Cảm ơn! Tôi cho rằng bạn có nghĩa là - máy chủ web, vì nếu không tôi nhận được 'Không thể bắt đầu web-host = 0.0.0.0: không tìm thấy: web-host = 0.0.0.0' ... Tuy nhiên, mặc dù đề xuất của bạn trông rất hứa hẹn, tôi giữ nhận 'ERR_ADDRESS_UNREACHABLE' trên trình duyệt (sau vài giây) ... :-( – MarcoS

+0

Lưu ý rằng --web-host = 0.0.0.0 có vẻ như đang thực hiện công việc, vì netstat nói với tôi rằng nút đang nghe trên 0.0.0.0:8080, thay vì 127.0.0.1:8080 ... – MarcoS

+0

@MarcoS Đó là '--web-host', đã được sửa. – aleung

Các vấn đề liên quan