다른 답변은 OP의 문제를 해결하지만 모두 과잉 상태이며 왜이 문제가 발생했는지 설명하지 않습니다.
열쇠는이 줄입니다. "퍼티를 닫으면 주소를 찾을 수 없습니다"
Putty에서 원격 호스트에 로그인하면 SSH Linux 프로세스를 시작했으며 해당 SSH 세션에서 입력 한 모든 명령이 해당 프로세스의 하위로 실행됩니다.
문제는 퍼티를 닫을 때 SSH 세션을 종료하여 해당 프로세스와 활성 자식 프로세스를 종료한다는 것입니다. 퍼티를 닫으면 포 그라운드 에서 서버를 실행했기 때문에 실수로 서버를 종료 합니다 . 이 동작을 피하려면 &를 명령에 추가 하여 백그라운드 에서 서버를 실행하십시오 .
node /srv/www/MyUserAccount/server/server.js &
여기서 문제는 리눅스 지식이 부족하고 노드에 대한 질문이 아닙니다. 더 자세한 정보는 http://linuxconfig.org/understanding-foreground-and-background-linux-processes에서 확인 하십시오.
최신 정보:
다른 사람들이 언급했듯이, 노드 서버는 터미널을 나갈 때 여전히 죽을 수 있습니다. 내가 겪었던 공통점은 노드 프로세스가 bg에서 실행 되더라도 stdout이고 stderr이 여전히 터미널을 가리키고 있다는 것입니다. 이는 노드 서버가 console.log 또는 console.error에 쓰면 파이프 오류 및 충돌이 발생 함을 의미합니다. 프로세스의 출력을 파이핑하여 피할 수 있습니다.
node /srv/www/MyUserAccount/server/server.js > stdout.txt 2> stderr.txt &
문제가 지속되면 모든 유형의 프로세스 (데이터베이스, 로깅 서비스, 기타 언어)를 실행하는 데 사용할 수 있기 때문에 노드 특정 솔루션보다 훨씬 강력한 tmux 또는 nohup 과 같은 것을 조사해야합니다 .
서버를 종료시킬 수있는 일반적인 실수는 실행 후 nohup node your_path/server.js &
간단히 클릭만으로 퍼티 터미널을 닫는 것입니다. exit
대신 명령 을 사용해야 합니다. 그러면 노드 서버가 시작되어 실행됩니다.