2013-06-09 3 views
4

node.js로 처음으로 사이트를 완성하는 중입니다. 설치하기 전에 완료해야하는 모든 사항에 대한 체크리스트가 있는지 궁금합니다. 내 데이터베이스 호출에서 (Mongoose를 사용하여) 특정 값이 예상되지 않으면 개발시 내 사이트가 죽을 것입니다 (예 : 노드 segfaults).node.js 기반 사이트를 시작할 때 체크리스트가 있습니까?

나는 이미 아파치가 설치된 광산의 VPS에서도 이것을 사용할 것이므로 둘 다 실행할 수있을 것인가 아니면 다른 것을 조사해야 할 것인가?

기본적으로 일단 작동하면이를 지키고 싶습니다. 그렇게하기 전에 알아야 할 표준주의 사항을 알고 싶습니다.

감사합니다.

답변

4

내가 생각 해낸 목록입니다 내가 여기에 간단한 WriteStream을 사용 , 아무것도 너무 공상.

var fs = require('fs'); 
//You might want to specify a path outside your app 
var file = './log.log'; 
var logger = fs.createWriteStream('./log.log'); 
app.configure(function(){ 
    //... 
    app.set(express.logger({stream:logger})); 
    /... 
}); 
을 사용하여 스크립트가 계속 실행되도록하십시오. 예, 그들은 다른 해결책 (예를 들어, daemon을 사용합니다)을 많이 가지고 있지만, 지금까지 영원히 사용 해왔고 전혀 문제가 없었습니다.

3 관리 인터페이스 설정을 고려하십시오. 이것은 실제로 제 경우의 요구 사항이었습니다. 그래서 smog으로 진행했습니다. 특히 클라이언트에게 좋을 것 같습니다. :).

4- 영원히 사용하는 경우 Monit을 사용하여 상태를 모니터링 할 수 있습니다. 기본 설정은 this blog post을 확인하십시오.

5- Mongo를 사용하는 경우 데이터 백업 전략을 개발하는 것이 좋습니다. 이 페이지는 very good starting point입니다.


이 목록에는 다중 응용 프로그램, 다중 컴퓨터 또는 다중 코어 지원과 관련된 정보가 포함되어 있지 않습니다.

멀티 앱 지원에 관심이있는 경우 nginx는 신뢰할 수있는 솔루션 인 것으로 보입니다. This (brilliant) SO answer을 사용하면 설정하는 데 도움이됩니다.

예비 기계가 많은 경우 은 nodejitsu가 개발했으며 나머지 한쪽은 기계를 반대로 공개하고 나머지는 역 프록시 할 수 있습니다.

멀티 코어 지원을 찾으려면 cluster이 노드와 번들로 제공되므로 N 개의 다른 프로세스를 생성 할 수 있습니다 (N 개의 코어가 있음). 공유 포트를 수신하게합니다.

, 우리 모두가 좋은 이야기, 여기에 몇 가지 생산 nodejs/MongoDB의 사용에 대한 게시물과 교훈을 듣고부터 배운 :
1 Lessons learned from launching i.TV

+0

이 굉장 .. 감사! 또한 스모그와 monit에 +1! –

1

Node.js가 Apache 또는 IIS와 같은 웹 서버가 아니기 때문에 따라야 할 구성 설정 체크리스트가 없습니다. 또한 사용하는 모듈 및/또는 프레임 워크가 생성하는 프로젝트에 따라 광범위하게 달라질 수 있으므로 체크리스트는 항상 뭔가 잃어 버릴 것입니다 ... 특히 Node.js 생태계가 계속 발전하고 성장함에 따라. 그들이 당신의 질문에 답하고 상관없이 Node.js를 함께 무엇을하고 있는지 일반적으로 유용하지 않기 때문에 이와 같이

, 나는 여기에 자료를 검토하는 게 좋을 것 :

내 데이터베이스 호출에서 특정 값이 예상되지 않을 때 앱이 죽는 것이 우려됩니다.

몽구스는 개별 필드에 대한 사용자 정의 데이터 유효성 검사를 허용하고 정의한 스키마에 맞지 않는 데이터를 필터링하여 (문서 일관성 유지) 올바른 설정으로 오류를 던질 수 있기 때문에 좋은 도구입니다. 때 데이터베이스에 잘못된 데이터를 전송하고, 더보다는 그것을 전달 '잘못된 데이터'...

난 당신이 처리되지 않은 오류가 어떤 과거 몽구스 을 통과하고 있는지 무엇을하는지 궁금하네요가 콜백 함수는 보통 function(err, data) 형식을 취하고 오류를 즉시 처리 할 수있는 기회를 제공한다는 것을 알고 있습니다.

1 오류 로깅 : 내가 여기 (개인 VPS에 내 첫 번째 응용 프로그램을 배포하는 방법에 대한)과 비슷한 상황에서 현재 해요

관련 문제