들불

무중단 실행 및 멀티 쓰레드 대응 PM2

· 2023-04-10 (월) 11:39:55 · 1444

SVELTEKIT 를 이용하여 node.js 환경에서 배포를 하려면 몇가지 문제가 있습니다.

 

php와 비교하면, 

php는 ftp 파일  올리면 끝납니다. 세상 편하죠. 그래서 문제인 것도 있지만,

개발자 입장에서 이리 편한 언어도 없을 것입니다.

 

우리는 php를 기준으로 생각을하니,

node.js 환경의 배포는 뭐이리 할일이 많은지...

 

php는 APACHE 나 NGINX 에 딱 붙어 있습니다.

그래서 APACHE나 NGINX의 웹서버를 그대로 이용합니다.

PHP로 웹서버를 돌릴수도 있지만 개발환경용으로 만 사용할 뿐 본 서비스에서는 사용하지 않습니다.

 

NODE.JS 는 NODE.JS 를 서버에서 사용하려면, APACHE와 NGINX와 분리해서 실행해야합니다.

그러니까 웹서버를 하나 더 뛰워야합니다.(대게 그렇게 한다정도로 생각해주세요)

 

 APACHE와 NGINX는 프록시 패스로 NODE.JS 웹서버에 연결해줍니다.

 

PM2 설명할려고했는데 서론이 좀 기네요.

그만큼 PHP와 비교해서 귀찾은 점이 있습니다.

 

아무튼, SVELTEKIT 을 빌드해서 빌드 내용이 들어있는 폴더에 보면,

index.js 파일이 생성됩니다.

 

이파일을 node 로 실행하면 노드 서버가 실행됩니다.

node ./index.js

 

그런데, 이놈이 약간 약합니다. 소프트하다고해야할까요?

 

javascript 로 실행해서 그런지, 중간에 에러나면 다음 동작이 안되고 멈추는 경우가 있습니다.

그래서 

무중단 실행 프로그램들이 몇게 나와있습니다.

 작년까지 제가 사용한 forever 가 있고

 

최근에 사용하게된 pm2 가 있습니다.

저 개인적인 생각으론 pm2가 더 편한것 같습니다.

 

sudo npm install pm2 -g

이렇게 관리자 권한으로 설치해주시고

 

 

pm2 start ./index.js

 

이렇게 해주면 실행됩니다.

그리고 

pm2 list 또는 pm2 status

이렇게 해주면 실행되고 있는 목록을 보여줍니다.

 

중단하려면

pm2 stop {프로세스id}

 

실행되는 모든 프로세스 중단

pm2 kill

 

 

그리고  멀티쓰레드 기능으로 cpu 별로 실행도 해줍니다.

pm2 start ./index.js -i 4

 

-i 를 붙이고 뒤에 숫자를 붙이면 숫자만큼 CPU 분리해서 쓰레드 생성해줍니다.

이렇게 생성된 쓰레드는 완전 독립이라서, 쿠키 같은것 공유가 안됩니다.

그래서 로그인 같은거  JWT로 만들어 쓰면 이런환경에서도 문제없이 돌아갑니다.

 

 

그리고 설정으로 파일로 저장해서 실행할수도 있습니다.

pm2 ecosystem

이렇게 명령어를 치면

ecosystem.config.js 파일이 생성됩니다.

 

어머나, ecosystem 은 사용해본적이 없는데, 이글 쓰느라 검색해보니

deploy 옵션에서  git 연결 배포 설정이 있네요. 

이것 좀더 알아보고 공유해야겠네요.

젠킨스 이용해서 배포 자동화하려면 좀 힘든데,

pm2 로 한번에 다 될것 같네요.

 

|
댓글을 작성하시려면 로그인이 필요합니다.

JS프레임워크

269건
+
분류 제목 글쓴이 날짜 조회
SVELTE 23-05-31 조회 3,127
SVELTE 23-05-29 조회 1,717
SVELTE 23-05-28 조회 1,521
기타 23-05-22 조회 1,136
SVELTE 23-05-22 조회 1,252
SVELTE 23-05-21 조회 1,150
SVELTE 23-05-17 조회 1,396
SVELTE 23-05-15 조회 1,762
SVELTE 23-05-15 조회 1,108
SVELTE 23-05-03 조회 1,307
SVELTE 23-05-02 조회 1,564
SVELTE 23-05-01 조회 2,522
SVELTE 23-04-25 조회 1,513
SVELTE 23-04-25 조회 1,357
SVELTE 23-04-20 조회 5,266
SVELTE 23-04-14 조회 1,096
SVELTE 23-04-10 조회 1,445
SVELTE 23-04-08 조회 1,114
SVELTE 23-04-08 조회 1,797
SVELTE 23-03-17 조회 5,392
SVELTE 23-03-15 조회 1,021
SVELTE 23-03-15 조회 1,099
SVELTE 23-03-15 조회 2,169
SVELTE 23-03-14 조회 1,814
SVELTE 23-03-14 조회 1,391
SVELTE 23-03-14 조회 1,592
SVELTE 23-03-03 조회 1,288
SVELTE 23-03-03 조회 1,297
SVELTE 23-03-01 조회 3,368
SVELTE 23-03-01 조회 4,093