Vue+Koa 기반 pm2 설정 에 대한 자세 한 설명

4467 단어 VueKoapm2
현재 사용 하고 있 는 기술 창 고 는 전단 Vue,백 엔 드 Koa,데이터베이스 Mongodb 입 니 다.
그러나 서 비 스 를 시작 할 때마다 npm start,node./server/app.js 를 사용 해 야 합 니 다.이 두 창 이 계속 열 려 있어 서 귀 찮 습 니 다.
그리고 저 는 koa 를 사 용 했 기 때문에 늑대 아저씨 가 쓴 koa 비 계 를 사용 하지 않 았 습 니 다.류 설 봉 선생님 의 Koa 프레임 워 크 를 기반 으로 한 작은 뮤 직 비디오 입 니 다.뜨 거 운 업데이트 가 되 지 않 았 습 니 다.
이런 불필요 한 조작 을 간소화 하고 열 업 데 이 트 를 늘 리 기 위해 어떻게 최적화 할 것 인 가 를 생각 하기 시작 했다.그래서 pm2 를 선 택 했 습 니 다.
pm2 설정
pm2:npm i pm2,npm i pm2-g 설치
오픈 소스 프로젝트 이기 때문에 코드 가 다른 사람의 컴퓨터 에서 뛸 수 있 도록 pm2 를 프로젝트 에 저장 해 야 합 니 다.그리고 전역 에 설치 하여 후기 디 버 깅 에 편리 합 니 다.
프로젝트 의 루트 디 렉 터 리 에 logs 디 렉 터 리 를 만 듭 니 다.
현재 디 렉 터 리 에 pm2.json 파일 을 만 듭 니 다.내용 은 다음 과 같 습 니 다.

{
 "apps": [{
  "name": "koler-server",
  "script": "./app.js",
  "error_file"   : "../logs/server-err.log",
  "out_file"    : "../logs/server-out.log",
  "merge_logs"   : true,
  "log_date_format" : "YYYY-MM-DD HH:mm Z",
  "cwd": "./server",
  "watch": [
   "app.js",
   "controllers"
  ],
  "watch_options": {
   "followSymlinks": false
  }
 },{
  "name": "koler-app",
  "script": "./build/dev-server.js",
  "error_file"   : "./logs/app-err.log",
  "out_file"    : "./logs/app-out.log",
  "merge_logs"   : true,
  "log_date_format" : "YYYY-MM-DD HH:mm Z",
  "cwd": "./",
  "ignore_watch" : [
   "node_modules"
  ],
  "watch_options": {
   "followSymlinks": false
  }
 }]
}
여기 서 두 항목 을 동시에 시작 합 니 다.
koler-server 는 koa 이 고,koler-app 는 전단 vue 입 니 다.
제 가 한번 해 봤 어 요.

"error_file"   : "./logs/app-err.log",
"out_file"    : "./logs/app-out.log",
"merge_logs"   : true,
"log_date_format" : "YYYY-MM-DD HH:mm Z",
코드 가 제 이 슨 의 뿌리 까지 올 라 갔 지만 소 용이 없 었 습 니 다.보아하니 pm2 는 이런 것 을 지지 하지 않 는 것 같다.그래서 모든 서비스 에 쓸 수 밖 에 없어 요.
package.json 설정
이전 script 필드 의 dev 를 바 꾼 다음 stop 필드 를 추가 합 니 다.바 꾼 후 다음 과 같 습 니 다.

"scripts": {
 "dev": "pm2 start pm2.json && pm2 logs",
 "start": "npm run dev",
 "stop": "pm2 stop koler-app koler-server && pm2 delete koler-app koler-server",
 "build": "node build/build.js",
 "lint": "eslint --ext .js,.vue src"
},
pm2 start pm2.json&&pm2 logs 는 pm2.json 파일 설정 을 기반 으로 시작 되 며,뒤의 pm2 logs 는 vue 와 koa 의 피드백 로 그 를 동시에 추적 하기 위 한 것 입 니 다.
npm start 를 입력 하면터미널 은 다음 과 같 습 니 다:
 
왜 그런 지 모 르 겠 어 요.npm start 때마다 다음 과 같은 오류 가 발생 합 니 다.

1|koler-ap | 2017-10-23 19:45 +08:00:
1|koler-ap | ┌────────────────────────────────────────────────────────────┐
1|koler-ap | │         npm update check failed          │
1|koler-ap | │      Try running with sudo or get access       │
1|koler-ap | │      to the local update config store via      │
1|koler-ap | │ sudo chown -R $USER:$(id -gn $USER) C:\Users\158bl\.config │
1|koler-ap | └────────────────────────────────────────────────────────────┘
단독 시동 은 아무 문제 가 없 지만 종목 은 평소 대로 달 릴 수 있다.nodejs 나 pm2 bug 일 수도 있 습 니 다.
시작 하면 화면 에 cmd 창 이 나타 날 것 입 니 다.끄 지 않 아 도 됩 니 다.잠시 후에 저절로 닫 힐 것 입 니 다.코드 가 pm2 설정 파일 에 watch 규칙 을 실행 할 때마다 cmd 창 이 자동 으로 팝 업 되 고 나중에 닫 힙 니 다.
다른 프로젝트 사용자 들 이 컴퓨터 에서 pm2 인 스 턴 스 를 여러 개 달 릴 수 있 기 때문에 stop 필드 에서 나 는 이름 을 따 랐 다.모든 인 스 턴 스 를 잠 정적 으로 삭제 하 는 것 을 방지 합 니 다.
테스트
현재 코드 를 변경 하면 아무런 문제 가 없 음 을 발견 합 니 다.pm2 는 자동 으로 열 업 데 이 트 를 진행 하 는 데 도움 을 줄 것 입 니 다.지금 우 리 는 고의로 vue 의 코드 를 잘못 고 쳐 보 았 다.

 
확인 할 수 있 습 니 다.
pm2.json 프로필 의 두 번 째 인 스 턴 스 인 koler-app 에 watch 가 없 는 이 유 를 설명 합 니 다.vue 는 개발 환경 에서 wenpack 의 watch 를 사용 하기 때문에 추가 할 필요 가 없습니다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기