2012-03-10 3 views
4

아마존에 우분투 서버가 있는데, node.js 프로그램을 실행하려고합니다. 프로그램에는 한 줄만 있습니다.아마존 리눅스 서버에 node.js 프로그램이 있습니다.

console.log('Here I am.'); 

아무 것도 출력되지 않고 프로그램이 종료되지 않습니다. I는 PS의 X를 실행할 때

, I는 STAT의 D 상태 일 [노드] 공정을 볼 수

751 ?  D  0:04 [node] 

프로세스가 sudo는 연속 -9 문제 전에 751

으로 중지 할 수 내 실제 - 훨씬 더 정교한 - node.js 프로그램처럼 node.js 프로그램도 잘 돌아갔다.

심지어 우분투 서버를 재부팅하고 재부팅 후 한 줄 테스트 node.js 프로그램을 실행 해 보았습니다. 그것은 매달아 아무것도 출력하지 않았다.

v0.7.6-pre 

이런 일이 발생하는 이유 어떤 아이디어를 반환 --version

노드? Amazon 인스턴스, node.js 설치 또는 다른 문제와 관련된 문제입니까? nginx는 동일한 서버에서 잘 실행되지만 위에서 설명한대로 node.js 프로그램이 멈 춥니 다.

UPDATE (예상대로, 같은 코드 내 로컬 맥 OS X 환경에서 잘 실행) : 내가 다시 0.6.12 안정적인 버전으로 복귀하지만 동일한 문제가 지속.

+1

일반적으로 상태 D는 커널 호출로 전달되는 IO를 의미합니다. 이것은 왜 당신이 그것을 죽일 수 없는지 설명 할 수 있습니다. 문제를 진단하려면 stdout을 파일로 리디렉션 해보십시오 ('>'사용). 문제가 콘솔/화면에 출력되는 것으로 의심됩니다. 또한 v0.6 stable 릴리스를 사용해보십시오. –

+0

은 출력을 리디렉션하고 처음으로 0.7.5로 되돌리고 다시 0.6.12로 되돌아 가려고했지만 동일한 문제가 계속 발생합니다. 매달린 노드 프로그램이 실행 중일 때 top은 node 및 rsyslogd가 하나의 CPU를 100 % 차지하는 것을 나타냅니다. 가끔 jbd2/xvda1-8도 높은 CPU 사용률로 상위 목록에 있습니다. – Mayoneez

+0

0.6.12를 설치 한 후 테스트 프로그램 *이 한 번 올바르게 실행되었습니다. 두 번째 실행에서 끊었습니다. – Mayoneez

답변

1

문제가 해결되었습니다 (다소).

이것은 수수께끼입니다. Amazon EC2에서 새로운 인스턴스 ("same")를 만들고 git, nginx, node.js 및 node.js 프로그램을 설치했습니다. 모든 것이 올바르게 작동합니다.

내가 가진 인스턴스에 이상이 있었어야합니다. 나는 그것이 무엇인지 이해하지 못한다. 그러나 나는 그 사건에 대해 아무 것도 중요하지 않았기 때문에 나는 그것을 버렸다.

문제의 원인은 처음에 가져 와서 컴파일 한 0.7.6 이전 버전 일 수 있습니다. 어쩌면 그 설치로 인해 특별한 행동을 일으킨 물건이 남았을 수도 있습니다.

관련 문제