nextjs dev서버 구축기 (with AWS lightsail)

김현재·2022년 1월 14일
0
post-thumbnail
post-custom-banner

지금까지 우리 서비스에 실 사용자가 (거의) 없었기에, production과 development서버 구분 없이 한 곳에서 작업물을 관리하고 있었다.
그러나, 최근에 실 사용자들이 나타나면서 문제가 터졌다.
기존과 동일하게 새로운 기능이 완성되면 바로 production에 붙였는데 그러다보니까 누수 현상이 생긴 것이다.
(한곳을 개선하면 다른 한곳이 빵꾸가 나고..그 빵꾸를 또 땜빵하면 다른곳이 또 새고...의 환장)

이제 도망칠 곳이 없었다..now it's the time to make DEV server...

(dev)서버 개설 시 체크리스트

  1. 어디다가 서버를 개설할 것인지?
  2. OS 고르기
  3. 웹서버는 뭐로 만들지?
  4. WAS가 필요한지? 아니면 그냥 웹서버만으로 돌릴지?
  5. DNS 사용 여부?
  6. 빌드여부?

대충 이렇게 4개 정도는 미리 생각하면 좋은 것 같다.

작업 과정

1. 서버를 개설할 클라우드서비스를 고르자

기존에 AWS lightsail을 사용하고 있었기 때문에 고민없이 AWS lightsail을 골랐다.
어차피 팀원들만 이용할 예정으로 멤버십은 저렴한거..로 골랐다
(그래서 좀 느리다 많이..)

2. OS 고르기

OS는 개인 취향대로 고르면 되시겠다..
이번 작업은 회사 작업물이기에..회사에서 쓰는 centos로 똑같이 구성..
(아무래도 구성을 비슷하게 하면 물어보기 쉬우니까...ㅎㅎ)

3. 웹서버 고르기

웹서버도 취향대로 고르면 된다.
하지만 난 취향이 없다? 아직 잘 모른다? 싶으면 그냥 남들이 많이 쓰는걸 고르는게 좋은거같다.
nginx만 써봐서..nginx로 결정했다....^^
어차피 프록시용으로 사용할거기에..나쁘지 않은 것 같다

4. WAS 필요?

필요하지 않았다.
대신에 PM2를 설치해서 프로세스 관리를 했다.
PM2같은 프로세스 매니저를 이용하면, 서버가 무중단으로 움직이게끔 할 수 있다

5. DNS 사용 여부?

DNS가 필요하면 사용하겠지만, 스타트업이기에..한푼이라도 아끼자 싶어서 그냥 고정 IP만 사용하기로 했다..!

6. 빌드 여부?

환경변수를 따로 설정하지 않아서..(아직 짬이 안됨)..그냥 빌드하지 않고 dev로 움직이도록 했다.

npm run dev로 pm2 돌리기

  1. nextjs가 localhost:3000으로 열리기에, nginx에서 port:3000을 바라보도록 proxy설정을 해줬다.

  2. 그 후 pm2가 자동으로 npm run dev를 돌리도록 했다. (아래 참고)

    # for development
    pm2 start npm --name "next" -- run dev
    
    # for production
    npm run build
    pm2 start npm --name "next" -- start

아래 글들을 참고하시면 쉽게 하실 수 있어요..!

profile
쉽게만 살아가면 재미없어 빙고!
post-custom-banner

0개의 댓글