내 터미널이 한글 버전인건지 처음에는 ..죽었음 이라는 말에 이게 도대체 뭐냐며 ㅋㅋㅋ 적잖이 당황했다.
구글링해보니 클라우드 서버의 성능 때문에 react 빌드 시 메모리 부족으로 프로세스가 죽어버리는 현상이라고 한다.
해결하기 위해서는 성능을 업그레이드 하면 되지만 일단 임시방편으로 디스크의 일부를 메모리에 땡겨 쓰도록 설정해주었다.
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
sudo mkswap /mnt/swapfile
sudo swapon /mnt/swapfile
스왑 메모리를 2GB로 생성해서 메모리 부족으로 인한 빌드 실패를 막는다.
추후에 해제하고 싶을 때에는?
sudo swapoff -v /mnt/swapfile
sudo rm /mnt/swapfile
위와 같이 입력해주면 된다.
처음 build 중 죽었을 때는 이렇게 메모리를 건드리지 않고 다른 방법을 통해 해결했었다.
어차피 클라우드에 올라가는 건 빌드된 정적 파일이므로,
메인 컴퓨터에서 npm export까지 완료한 후 그 정적 파일들을 서버에 업로드하여 서버에서 띄웠다.
하지만 정적 파일을 업로드해서 웹에 띄울 경우에 바로 확인할 수 없었던 메타 태그 적용 문제를 해결해나가면서
Next.js의 getServerSideProps를 사용해서 테스트해보고 싶었다.
이 함수는 export 하여 정적 파일을 서버에 띄우는 것이 아닌 프론트엔드도 자체 포트에서 돌릴 때 사용할 수 있는 것이었다.
(= 서버에서의 build가 필요한!)
무튼 이런 과정을 거치면서 실제 배포되어있는 웹 서비스들은 보통 어떤 식으로 배포되어있는지 궁금해졌다.
검색을 좀 해보긴 했지만 아직 어디서 어떻게 알아봐야 할지 잘 모르겠다.
일단 잊지 않도록 끄적여놓고.. 찾아 봐야지.
'main > NCP Service' 카테고리의 다른 글
[NCP] Certificate Manager에 Let's Encrypt 인증서 등록하기 (0) | 2022.02.08 |
---|---|
[NCP] Server ssh 접속 안될 때, 클라우드 서버 접속 콘솔 열기 (+windows OpenSSH 서버) (0) | 2021.07.20 |
[NCP] Micro Server 생성하고 초기 설정하기 (0) | 2021.07.19 |
NAVER CLOUD PLATFORM 사용 시작하기 (0) | 2021.07.16 |