네이처리 노트
[Node.js] 노드 서비스 유지하기 forever 본문
728x90
반응형
공부하면서 정리한 내용입니다
참고한 내용은 링크를 확인해주세요
📦 forever
SSH 접속을 종료해도 어플리케이션이 종료되지 않고 지속적으로 서비스를 제공
설치 및 프로세스 이름부여하기
npm install forever -d //노드몬설치했던 방식으로 디렉토리에 설치했다.
package.json 활용하기
{
"scripts": {
"nature": "node dir/index.js",
"natureservice": "forever start --uid nat dir/index.js", // 실행코드
"naturestop" : "forever stop nat", // 종료코드
},
"devDependencies": {
"nodemon": "^2.0.9"
}
}
--uid [name] 은 이름을 정해주는 코드로 종료나 재실행할때 사용 가능하다.
스크립트 실행하기
npm run natrueservice //실행
스크립트 종료하기
npm run naturestop //종료
종료되면서 로그파일의 위치, uid, pid, 실행시간 등 정보가 출력됨
실시간 로그 확인
forever list //실행중인 프로세스 확인, 로그경로를 확인할 수 있다
tail -f [file.log] //실시간 추적용
tail -[n] [file.log] //보고자 하는 라인수를 입력하여 확인 가능. 추적x
자동으로 재실행하기
forever를 이용해서 어플리케이션을 백그라운드 데몬으로 동작시키면서 실시간 디버깅과 테스트를 하려면 forever start 단계에서 옵션을 추가해야 한다.
w 옵션은 파일의 변화를 감지해서 어플리케이션을 재실행하여 nodemon과 동일한 효과를 제공한다.
forever -watch [file]
forever -w [file] //watch 약자
무분별한 재실행 방지하기 .foreverignore
.foreverignore 파일을 생성합니다. (구글에 검색하면 파일생성해주는 사이트 있음)
# we only care about changes to javascript files
# in the src folder
node_modules/* #노드모듈 무시 (설치되는동안 여러번 재실행하는 것을 방지)
sessions/* #세션파일을 사용 중이어서 파일 생성/제거 될 때마다 재실행 하는 것 방지
!dir/*.js #디렉토리에 .js로 된 파일은 제외한 파일변경시 재실행 방지
.foreverignore파일은 자동으로 숨겨진 파일로 저장된다.
숨겨진파일 확인하기
ctrl+shift+. // Mac 단축키
"natureservice": "forever start --uid nat -w dir/index.js --watchIgmore", // 실행코드
npm root 찾기
npm root -g
reference
728x90
반응형
'개발기록 > Node.js' 카테고리의 다른 글
Comments