Mam serwer Linux (os: Centos, ip: 192.168.1.100) z moją aplikacją węzła, którą chcę debugować.
Z jakiegoś powodu przy pracy muszę pracować na zdalnym kliencie (ip: 192.168.1.7), ponieważ serwer Linux nie ma GUI/przeglądarki.Node.js: jak zdalnie debugować?
zrobiłem zgodnie z instrukcją korzystania z węzła inspektor, bez powodzenia ...
Oto co zrobiłem:
$ 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
Następnie, jeśli mogę otworzyć przeglądarkę klienta do http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858
, otrzymuję błąd ERR_ADDRESS_UNREACHABLE
.
Ten sam wynik, jeśli otwieram przeglądarkę klienta na http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858
.
Jeśli (z ciekawości) Otwieram http://192.168.1.100:5858
ja po prostu:
Type: connect
V8-Version: 4.5.103.30
Protocol-Version: 1
Embedding-Host: node v4.0.0
Content-Length: 0
Zrobiłem już otwarty port 8080 i 5858 (być po bezpiecznej stronie) na mój firewall (w /etc/sysconfig/iptables
mam:
...
-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
...
).
Czego mi brakuje?
UPDATE: Po @aleung sugestią, ja dodać web-host=0.0.0.0
flagę node-debug
linii poleceń, bez wielkiego sukcesu: Zawsze dostać ERR_ADDRESS_UNREACHABLE
w przeglądarce. Nawet limit czasu wynoszący telnet 192.168.1.100 8080
od klienta 192.168.1.7
. Zamiast tego, telnet 192.168.1.100 5858
odpowiedzi:
Type: connect
V8-Version: 4.5.103.30
Protocol-Version: 1
Embedding-Host: node v4.0.0
Content-Length: 0
Które prawdopodobnie oznacza debugger słucha, ale to wciąż nieosiągalny z interfejsu klienta :-(
Dzięki! Przypuszczam, że masz na myśli --web-host, ponieważ w przeciwnym razie otrzymam komunikat "Nie mogę uruchomić web-hosta = 0.0.0.0: not found: web-host = 0.0.0.0" ... Jednak mimo tego, że Twoja sugestia wygląda obiecująco, ciągle pobieranie 'ERR_ADDRESS_UNREACHABLE' na przeglądarce (po kilku sekundach) ... :-( – MarcoS
Zauważ, że --web-host = 0.0.0.0 wydaje się robić to zadanie, ponieważ netstat mówi mi, że węzeł słucha teraz na 0.0.0.0:8080, zamiast 127.0.0.1:8080 ... – MarcoS
@MarcoS Naprawiono "--web-host". – aleung