[node.js] pm2가 ‘npm start’스크립트를 실행할 수 있습니까

pm2가 npm 시작 스크립트를 실행하는 방법이 있습니까 아니면 그냥 실행해야합니까? pm2 start app.js

그래서 개발에서

npm start

그런 다음 pm2를 사용한 프로덕션에서는 다음과 같은 것을 실행합니다.

pm2 start 'npm start'

이 작업을 수행하는 동등한 방법이 있습니다 forever.

forever start -c "npm start" ./



답변

PM2는 이제 npm start를 지원합니다.

pm2 start npm -- start

PM2 프로세스에 이름을 지정하려면 다음 --name옵션을 사용하십시오 .

pm2 start npm --name "app name" -- start


답변

.jsonpm2 프로세스를 실행하기 위해 파일 과 같은 구성 스크립트를 사용하는 사람들은 이와 같은 npm start다른 스크립트를 사용할 수 있습니다 –

my-app-pm2.json

{
    "apps": [
        {
            "name": "my-app",
            "script": "npm",
            "args" : "start"
        }
    ]
}

그런 다음 간단히

pm2 start my-app-pm2.json

편집 -상위 디렉토리에이 구성 스크립트가 있고 서브 디렉토리에서 앱을 시작하려는 경우 유스 케이스를 처리하려면 cwd속성 을 사용하십시오 .

nested-app이이 구성 파일과 관련된 하위 디렉토리에 있다고 가정하면 –

{
    "apps": [
        {
            "name": "my-nested-app",
            "cwd": "./nested-app",
            "script": "npm",
            "args": "start"
        }
    ]
}

자세한 내용은 여기를 참조하십시오 .


답변

예. 사용하십시오 pm2 start npm --no-automation --name {app name} -- run {script name}. 효과가있다. --no-automation플래그가 이 충돌 할 때 PM2 앱을 다시 시작하지 않습니다 그것을하지 않고 있기 때문이다.


답변

쓰다 npm run

pm2 start npm --name "{app_name}" -- run {script_name}


답변

아래에 셸 스크립트를 작성했습니다 ( start.sh). 내 옵션 package.json이 있기 때문에 prestart. 그래서 나는 달리고 싶다 npm start.

#!/bin/bash
cd /path/to/project
npm start

그런 다음 start.shpm2 부터 시작하십시오 .

pm2 start start.sh --name appNameYouLike


답변

그렇습니다. 이제 pm2는 npm start, –name to species 앱 이름을 지원합니다.

pm2 start npm --name "app" -- start


답변

클러스터링 활성화를 참조하십시오.

pm2 start npm --name "AppName" -i 0 -- run start

어떻게 생각해?