pm2와 serve의 한 페이지 응용 식용 안내
구덩이
pm2 프로세스 관리, serve 정적 파일 서버 구성은 다음과 같습니다.// pm2.config.js
module.exports = {
    apps: [
        // ...
        {
            name: 'music-app',
            script: 'serve',
            args: '-p 8080 -s build',
        }
    ]
}
  문제는 다음과 같습니다.
serve 직접 서비스 오픈 문제 없음질문 찾기
수행
pm2 show music-app 결과는 다음과 같습니다.➜  hehehe git:(master) ✗ pm2 show music-app      
 Describing process with id 1 - name music-app 
┌───────────────────┬──────────────────────────────────────────────────┐
│ status            │ online                                           │
│ name              │ music-app                                        │
│ restarts          │ 69                                               │
│ uptime            │ 3s                                               │
│ script path       │ /usr/local/lib/node_modules/pm2/lib/API/Serve.js │
│ script args       │ -p 8080 -s build                                 │
│ error log path    │ /Users/xixi/.pm2/logs/music-app-error-1.log   │
│ out log path      │ /Users/xixi/.pm2/logs/music-app-out-1.log     │
│ pid path          │ /Users/xixi/.pm2/pids/music-app-1.pid         │
│ interpreter       │ node                                             │
│ interpreter args  │ N/A                                              │
│ script id         │ 1                                                │
│ exec cwd          │ /Users/xixi/work/hehehe                       │
│ exec mode         │ fork_mode                                        │
│ node.js version   │ 8.6.0                                            │
│ watch & reload    │ ✘                                                │
│ unstable restarts │ 0                                                │
│ created at        │ 2017-10-11T10:07:33.119Z                         │
└───────────────────┴──────────────────────────────────────────────────┘
  emmmm, 주의
script path, 분명히 실행하는 것은 우리가 원하는 것이 아니다serve.넘어지다왜 이러지?
원인은 여기에 있다. 찔러라!pm2는 2.4.0 버전 이후 정적 파일 서버를 직접 열 수 있습니다. 듣기에는 아름답지만!!!정적 서버를 열라는 명령도
serve 이기 때문에 우리는 원하는 nodejsserve 패키지로 서버를 열 수 있는 것이 아니라pm2 내장 기능을 사용했다.내장된 정적 파일 서비스 기능이 단일 페이지에 최적화되지 않았기 때문에 이러한 문제가 발생할 수 있습니다.두 가지 솔루션
serve 패키지 실행 파일의 경로를 직접 지정합니다: // pm2.config.js
const path = require('path')
module.exports = {
    apps: [
        // ...
        {
            name: 'music-app',
            script: path.resolve(__dirname, './node_modules/serve/bin/serve.js'),
            args: '-p 8080 -s build',
        }
    ]
}
  serve에 별명을 지어줍니다. 예를 들어 수정.bashrc.그런 다음 다음
pm2 show music-app을 수행합니다. 결과는 다음과 같습니다.➜  hehehe git:(master) ✗ pm2 show music-app                                  
 Describing process with id 1 - name music-app 
┌───────────────────┬────────────────────────────────────────────────────────────┐
│ status            │ online                                                     │
│ name              │ music-app                                                  │
│ restarts          │ 0                                                          │
│ uptime            │ 8s                                                         │
│ script path       │ /Users/xixi/work/hehehe/node_modules/serve/bin/serve.js │
│ script args       │ build/ -s -p 3030                                          │
│ error log path    │ /Users/xixi/.pm2/logs/music-app-error-1.log             │
│ out log path      │ /Users/xixi/.pm2/logs/music-app-out-1.log               │
│ pid path          │ /Users/xixi/.pm2/pids/music-app-1.pid                   │
│ interpreter       │ node                                                       │
│ interpreter args  │ N/A                                                        │
│ script id         │ 1                                                          │
│ exec cwd          │ /Users/xixi/work/hehehe                                 │
│ exec mode         │ fork_mode                                                  │
│ node.js version   │ 8.6.0                                                      │
│ watch & reload    │ ✘                                                          │
│ unstable restarts │ 0                                                          │
│ created at        │ 2017-10-11T10:11:23.846Z                                   │
└───────────────────┴────────────────────────────────────────────────────────────┘
  보시다시피
script path 이미 우리가 원하는 경로이고 문제가 해결되었다.
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.