Package Manager
- Package: =소프트웨어.
- 소프트웨어들을 생성, 설치, 업데이트, 관리, 삭제해주는 프로그램
- 운영체제마다 중요한 역할을 함
NPM
- Nodejs에서 가장 광범위하게 사용하는 PM
- 파일(코드)이 수정될 때마다 자동으로 프로그램을 껐다켜줌 (이전에는 일일이 귀찮게 껐다켜줬었음)
PM2 - Home
Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.
pm2.keymetrics.io
Advanced, production process manager for Node.js
: Nodejs로 만든 웹 프로그램 매니저
터미널을 관리자 권한으로 실행한 후 npm install pm2 -g 를 입력하여 pm2를 설치한다.
하지만 나의 경우 설치할 때 에러가 났다. window에서 설치할 때에만 에러가 발생한다. 하지만 이는 에러가 아니라 경고일 뿐이니 걱정말라!
설치 후 실행해보았으나 다음과 같은 이유로 실행이 되지 않았다. 이 문제는 아래 사이트를 통해 해결했다.
pm2 powershell에서 실행안될때
error message webpack : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\shimk\AppData\Roaming\npm\webpack.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(ht..
ms3864.tistory.com
1. 관리자 권한으로 실행
2. Get-ExecutionPolicy
3. RemoteSigned가 뜨지 않으면 Set-ExecutionPolicy RemoteSigned
-> 아마 Restricted 라고 뜰 것이다.
4. Get-ExecutionPolicy를 입력하여 RemoteSigned로 변경되었는지 확인
그 후 입력하면 잘 실행된다! 짝짝! 신기해!
- name: 실행 중인 main.js의 별명
- status: online(실행중)
웹 사이트에 다시 접속해보자! http://localhost:3000/
이전과 똑같이 동작한다
PM2 - 1.Monitoring
pm2 monit
현재 PM2에 의해 실행되고 있는 프로그램들을 볼 수 있다.
main.js 프로그램을 종료하면 바로 종료되었다고 오른쪽에 뜨며 반응한다. (강의에선 프로세스를 종료시켰는데 windows에서는 어떻게 하는지 모르겠다. 작업 관리자>프로세스에 안뜨던데..ㅠㅠ)
나가고 싶을 때는 q버튼을 누르면 된다.
PM2 - 2.Microservice
pm2 list
현재 실행중인 프로세스의 리스트를 보고 싶을 때
PM2 - 3.프로세스 종료
pm2 list를 통해 현재 실행 중인 프로세스의 리스트를 보고 종료하고 싶은 프로세스를 main으로 확인한 후
pm2 stop 프로세스명
입력하면 프로세스가 아래와 같이 종료된다
main이 꺼지면서 stopped된다
pm2 start 프로세스명 --watch
이제 코드를 수정한 후 리로드하면 이제 바로 반영된다! 대박대박 맨날 수정한 후 껐다켜지 않아도 된다
PM2 - 4.에러 보기
하지만 이렇게 하면 문제도 발생한다.
node main.js 를 입력한 경우 코드에 에러가 있으면 에러를 보여주지만, 이 경우는 코드 에러가 나타나지 않는다.
pm2를 사용하면서 어떤 에러가 있는지 보고 싶다면
pm2 log 를 입력하면 현재 발생한 문제들을 바로 보여준다.
'Back-End > Node.js' 카테고리의 다른 글
Node.js.31.App 제작-글생성 UI 만들기 (0) | 2020.09.02 |
---|---|
Node.js.30.HTML-form (0) | 2020.09.02 |
Node.js.28.3.JavaScript-callback (0) | 2020.09.02 |
Node.js.28.2.Nodejs에서 동기와 비동기 2 (0) | 2020.09.02 |
Node.js.28.1.Nodejs에서 동기와 비동기 1 (0) | 2020.09.02 |