지금까지 우리 서비스에 실 사용자가 (거의) 없었기에, production과 development서버 구분 없이 한 곳에서 작업물을 관리하고 있었다.
그러나, 최근에 실 사용자들이 나타나면서 문제가 터졌다.
기존과 동일하게 새로운 기능이 완성되면 바로 production에 붙였는데 그러다보니까 누수 현상이 생긴 것이다.
(한곳을 개선하면 다른 한곳이 빵꾸가 나고..그 빵꾸를 또 땜빵하면 다른곳이 또 새고...의 환장)
이제 도망칠 곳이 없었다..now it's the time to make DEV server...
대충 이렇게 4개 정도는 미리 생각하면 좋은 것 같다.
기존에 AWS lightsail을 사용하고 있었기 때문에 고민없이 AWS lightsail을 골랐다.
어차피 팀원들만 이용할 예정으로 멤버십은 저렴한거..로 골랐다
(그래서 좀 느리다 많이..)
OS는 개인 취향대로 고르면 되시겠다..
이번 작업은 회사 작업물이기에..회사에서 쓰는 centos로 똑같이 구성..
(아무래도 구성을 비슷하게 하면 물어보기 쉬우니까...ㅎㅎ)
웹서버도 취향대로 고르면 된다.
하지만 난 취향이 없다? 아직 잘 모른다? 싶으면 그냥 남들이 많이 쓰는걸 고르는게 좋은거같다.
nginx만 써봐서..nginx로 결정했다....^^
어차피 프록시용으로 사용할거기에..나쁘지 않은 것 같다
필요하지 않았다.
대신에 PM2를 설치해서 프로세스 관리를 했다.
PM2같은 프로세스 매니저를 이용하면, 서버가 무중단으로 움직이게끔 할 수 있다
DNS가 필요하면 사용하겠지만, 스타트업이기에..한푼이라도 아끼자 싶어서 그냥 고정 IP만 사용하기로 했다..!
환경변수를 따로 설정하지 않아서..(아직 짬이 안됨)..그냥 빌드하지 않고 dev로 움직이도록 했다.
nextjs가 localhost:3000으로 열리기에, nginx에서 port:3000을 바라보도록 proxy설정을 해줬다.
그 후 pm2가 자동으로 npm run dev를 돌리도록 했다. (아래 참고)
# for development
pm2 start npm --name "next" -- run dev
# for production
npm run build
pm2 start npm --name "next" -- start