inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

배포 방법에 대한 질문드립니다.

1155

nu

작성한 질문수 18

0

1. 제가 알기로 무중단 배포는 새로 작성한 코드를 추가로 배포할 때, 그 파일을 가져오고 다시 실행하는 동안 끊기지 않게 해주는 것으로 알고있습니다. 그런데 강의에서 ec2는 해당 우분투 shell을 나가면 자동으로 종료되므로 pm2를 이용해 무중단 배포를 하시는 것을 봤습니다.

ec2는 끊기지 않기 위해서라도 무조건 무중단 배포를 해야하는 걸까요?

2. 노드버드 강의에서 배운 내용을 토대로 배포 과정을 공부하기 위해 작은 프로젝트를 혼자 진행하고 있는데, aws에도 ec2, s3, elasticbeanstalk등 다양한 옵션이 있고, 이걸 무중단 배포를 해야하느냐, 한다면 pm2를 이용할지 docker와 nginx를 이용할지 등.. 옵션이 많아 어떤 것을 선택해야할지 고민입니다.

제가 원하는건 단순히 프론트 서버를 aws에 배포해서 언제든 실제 주소로 잘 들어가지고, github action을 이용하여 깃허브에 push했을 때 자동으로 테스트 후 배포되는 ci/cd를 구축하는 것 까지가 목표입니다.

현재 스택은 nextjs가 아닌 그냥 리액트입니다.

무중단 배포를 해보고는 싶지만 지금은 고려대상이 아닙니다.

이때 aws에서 어떤 옵션을 선택해야 할지, 무중단 배포를 꼭 해야하는지 등, 가장 알맞은 배포 방법이 어떤 것일지 조언을 구하고 싶습니다.

redux nodejs express react Next.js

답변 1

0

제로초(조현영)

1. 강좌에서 쓴 pm2 정도는 무중단 배포는 아닙니다. ssh 종료시 hangup으로 인해 서버도 같이 꺼지는 것만 막는 것입니다. pm2로 무중단배포하려면 몇 설정을 더 해야 합니다.

2. 무중단 배포로 pm2 추천 드립니다. 다만 앞단에 nginx를 두는 것도 괜찮습니다. aws 로드밸런서 안 쓴다면 nginx로 Https 적용하시고 lb 쓴다면 pm2만 쓰시면 됩니다.

https://engineering.linecorp.com/ko/blog/pm2-nodejs/

보시면 좋습니다. 단순 react는 빌드된 정적파일 결과물만 바꿔주면 돼서 딱히 신경쓸 건 없습니다. 오히려 캐시가 문제겠네요.

0

nu

답변 감사합니다! 그런데 혹시 무중단 배포를 하지 않고 위에 말씀드린 것처럼 프론트 배포후 github actions을 이용한 ci/cd만 목표로 한다면 어떤 방식이 제일 좋을 지도 알수 있을까요?

그리고 말씀해주신 pm2 사용은 ec2와 함께 쓰는것 일까요?

0

제로초(조현영)

pm2는 ec2랑 해도 되고 ecs같은 도커 기반과 해도 됩니다. 빈스톡에서도 되고요.

프론트가 정적이면 cloudfront/s3에 배포하는 것도 괜찮습니다. github actions로 파일 빌드 후 결과물 전송하면 되고요. ec2쓴다면 ec2로 파일 전송하면 됩니다.

0

nu

계속 질문드려 죄송합니다..

말씀하신 프론트가 정적이라는 것은 어떤 때 일까요..? next로 ssr하는 경우가 정적일까요?

저는 현재 리액트만 사용중입니다

0

제로초(조현영)

그냥 react만 쓸 때가 정적입니다. 컨텐츠가 안 바뀌니까요.

0

nu

정말 감사합니다!

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

192

1

특정 페이지 접근을 막고 싶을 때

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

157

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

160

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

214

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

477

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

255

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

337

1

npm run build 에러

0

525

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

350

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

290

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

249

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

206

1