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 :-(
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
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
@MarcoS Đó là '--web-host', đã được sửa. – aleung