본문으로 바로가기

root의 ecosystem.config.js 를 생성해서 pm2로 일괄 관리

module.exports = {
    apps: [
        {
            // pm2로 실행한 프로세스 목록에서 이 애플리케이션의 이름으로 지정될 문자열
            name: "client",
            // pm2로 실행 스트립트
            script: "cd client && yarn start",
            // 개발환경시 적용될 설정 지정
            env: {
                "PORT": 4000,
                "NODE_ENV": "development"
            },
            // 배포환경시 적용될 설정 지정
            env_production: {
                "PORT": 8080,
                "NODE_ENV": "production"
            }
        },{
            name      : "server",
            script    : "cd server && yarn start",
            // 개발환경시 적용될 설정 지정
            env: {
                "PORT": 4100,
                "NODE_ENV": "development"
            },
            // 배포환경시 적용될 설정 지정
            env_production: {
                "PORT": 8180,
                "NODE_ENV": "production"
            }
        }
    ]
};

 

실행 pm2 start ecosystem.config.js

 

 

참고

https://github.com/Unitech/pm2/issues/3975

 

https://stackoverflow.com/questions/11580961/sending-command-line-arguments-to-npm-script 

 

 

 

개발 끝나고 배포할 경우 (서버측 디렉토리에 포함)

 

클라이언트 빌드 후 

npm run build

 

node.js 서버측에 static 디렉토리 만들어주고, 클라이언트 파일 넣은 후  등록해 줌

app.use(express.static('public'));