BackEnd

pm2를 사용하여 python 프로세스 관리하기

행복한 기린님 2022. 7. 27. 11:07

 

외부적으로도 사용할 수 있는 어노테이션 툴을 만들었다.

 

 

지금까진 Lit 이라는 프레임워크를 사용해 프론트 작업을 했었지만 

 

최근 들어 Svelte에 흥미가 생겨 Svelte를 활용해서 작업을 진행했다. 

 

 

Svelte에 대한 포스팅은 추후에 진행하도록 하자.

 

 

구조는 간단하다 

 

 

API 서버에서 전체 이미지에 대한 특정한 특징을 가진 부분을 크롭하여 분리 저장하고 

웹 서버에 해당 이미지를 전송한다. 

 

이미지 전송 API , 전송한 이미지로부터 데이터를 받아 저장해 JSON 파일로 보관하는 API 두 가지가 필요했다.

 

위 2가지 동작과 특징을 가진 부분을 크롭해 저장하는 기능까지 구현된 코드를 클라우드 서버에 옮기게됐다.

 

 

클라우드 서버는 Ubuntu를 사용했고 

 

pm2를 이용해 프로세스를 효율적으로 관리하기로 했다.

 

 

 

https://pm2.keymetrics.io/

 

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

 

 

pm2 를 사용하기 위해선 npm 을 필요로한다.

sudo apt install npm

sudo npm install pm2 -g

 

 

pm2 설치 후 

pm2 start app.py --name app-name --interpreter=python3

 

 

유용한 pm2 명령어

TO LIST YOUR APPS
pm2 list

TO RESTART YOUR APP
pm2 restart app_name

TO STOP YOUR APP
pm2 stop app_name

TO SEE LOGS OF YOUR APP
pm2 log app_name

TO DELETE YOUR APP
pm2 delete app_name