CentOS를 실행하는 Windows 상자와 VM이 있습니다. 누구든지 PHPStorm을 사용하여 노드 CLI 스크립트 (포트를 열지 않음)를 어떻게 디버깅 할 수 있는지 알고 있습니까? "구성 수정"은 들어오는 연결을 듣지 않고 어딘가에 연결하는 것만 지원합니다.원격 디버그하는 방법 PHPStorm을 사용하는 노드 JS?
답변
nodejs plugin이 설치되어 있는지 확인하십시오.
서버에 밸런서 패키지가있는 경우 (내 EC2 상자는 사용하지 않음) use this tutorial을 사용하여 밸런서가있는 포트를 전달할 수 있습니다. 의 iptables와
yum install balance -yt
balance -df 8585 127.0.0.1.5858
많은 보고서의 성공은 다음과 같이 (나를 위해 작동하지 않았다) 보라에 eth0를에서 리디렉션 : (하단) 또한 간단한 노드 스크립트 described in this eclipse debugging tut 있습니다
iptables -t nat -A PREROUTING -p tcp -m tcp -i eth0 --dport 5858 -j DNAT --to 127.0.0.1:5858
, 로컬 디버그를 원격 호스트로 터널링합니다.
하지만 내가 그 길을 따라 가면 SSH에 익숙해 져서 그 점을 보지 못했습니다. 따라서 궁극적으로는 I went with an SSH tunnel이며 로컬 호스트를 디버깅하도록 PHPStorm을 설정하십시오.
ssh -f [email protected] -L local_port:localhost:port_on_remote -N
이것은 "ssh_user
로 your-remote-host
에 SSH, 로그인을 의미 일단이 개방 :
비 Windows 사용자
PHPStorm이 [원격 경로가있는 버그] (http://youtrack.jetbrains.com/issue/WI-9821?projectKey=WI)에 대한 수정본을 방금 공개 한 것처럼 보입니다! 그것은 매우 흥미로 웠습니다. – Kato
PHP 디버그 세션과 마찬가지로 브라우저에서 연결할 때 헤더를 설정해야합니까? 또한, PHPStorm 내의 코드에 중단 점을 설정할 수 있습니까? 아니면 sys.debug()를 사용해야합니까? – codecowboy
, 여기에 설정하는 방법 SSH를 사용하여 포트 포워딩 터널을하는 것입니다. localhost:port_on_remote
에 연결하고 ssh가 실행되는 컴퓨터의 local_port
에이 연결을 노출하십시오. "
노드의 디버거는 로컬 호스트의 IP 주소에만 바인드하므로 (your-remote-host
을 해결할 주소가 아닌) 명확하지 않은 부분은 localhost
이어야합니다. 실제 값
예 :
ssh -f [email protected] -L 5858:localhost:5858 -N
(this howto에 따라이 단지 localhost
조각을 알아 내기 위해 좀 시간이 걸렸습니다).
여기 정확히 달성하려는 것은 무엇입니까? – alessioalex
@alessioalex, 브레이크 포인트 설정, vars 읽기 등 - 원격 xDebug와 동일 - PHPStorm에서 bp를 설정하고 듣기 시작하고 퍼티를 사용하여 VM에서 노드 스크립트를 실행하면 IDE와 통신합니다. 내가 유용한 모든 것을 할 수있게하자. – Fluffy
또 다른 옵션은 SSH 터널을 설정하여 로컬 컴퓨터의 포트가 원격 서버의 포트로 리디렉션되도록 설정할 수있다. – CrazyCoder