Débogage à distance de mon nœud application hébergée sur AWS
Je tiens à vous connecter à mon serveur de nœud de l'exécution en mode debug sur AWS (node --debug app.js) de ma machine de développement, et être en mesure de déboguer mon application à distance.
Deux questions:
-
Puis-je faire cela avec nœud-inspecteur? Je souhaite que je pourrais, mais le nœud-inspecteur ne parvient pas à l'installer sur mon AWS instance.
-
Une alternative qui va me permettre de faire cela?
Vous devez vous connecter pour publier un commentaire.
Et avec l'aide de tepez de l' réponse, la suite a fonctionné pour moi (Nœud de l'Inspecteur de v0.12.2):
Sur ma machine:
Sur le serveur distant:
Et entrez l'adresse suivante dans le navigateur:
Avant débogueur distant port ssh de votre machine de dev
Et maintenant, vous pouvez commencer à
node-inspector
comme si le débogueur est exécuté localement.--inspect=0.0.0.0:9229
la laisse ouverte pour quiconque, sauf si vous configurez un pare-feu. Pour développer cette réponse (parce que je n'ai pas compris au premier abord moi-même):ssh -L <local-port>:127.0.0.1:<remote-port> <server-ip/domain>
. Vous êtes probablement déjà en cours à l'aide de 9229 local apps,local-port
devront être quelque chose d'autre (j'ai choisi 9339), distant de-port " serait 9229 par défaut. Ensuite, vous devez laisser la connexion ssh ouvert, allez dans google Chrome, Nœud de cibles et d'ajouterlocalhost:9339
(ou n'importe quel port que vous avez choisi). Le tour est joué.Une option de plus pour utiliser
0.0.0.0
pour écouter de la demande provenant de l'extérieur:et de visiter cette adresse pour debug:
il serait mieux si HTTP/2 est disponible depuis il y a beaucoup de petits fichiers.
Me permettre de présenter une alternative à l'aide
node --inspect
. J'ai eu le même besoin, bien que dans un environnement Windows, je crois que cela devrait fonctionner pour vous.Machine distante (testé avec Nœud 6.10.2, Windows Server 2012)
node --inspect=0.0.0.0:9229 <appname>.js
Machine locale (testé avec Win 10, Chrome 60.0.3112.90)
En Chrome DevTools - Cliquez sur le sélection verticale menu en haut à droite:
<remote-ip>:9229
Captures d'écran des Étapes 1,3,4-dessous.
0.0.0.0
est au niveau du conteneur, c'est effectivement 127.0.0.1 sur l'ordinateur hôte.Vous pouvez aussi spécifier
--web-host
argument.Vous pouvez utiliser
node --inspect
trop dans votre machine à distance.node --inspect myapp.js
ssh -L 9229:127.0.0.1:9229 myuser@myserver -N
chrome-devtools://devtools/remote/serve_file/@60cd6e859b9ff284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/bef2ae68
Profiter 🙂
Si vous utilisez
pm2
juste ajouter ceci sur votre ecosystem.jsC'est ce qui a fonctionné pour moi:
--debug
drapeau.Debugger listening on port DEBUG_PORT
message.8080
, pas laDEBUG_PORT
comme Andreï Sidorov réponse suggère.SERVER_API:8080/debug?ws=127.0.0.1:8080&port=DEBUG_PORT
dans un navigateur voilà.Nœud Inspecteur v0.10.1