no image
Github actions Organization runner 설정하기
Repository runner의 한계진행 중인 프로젝트에서 하나의 머신으로 여러 개의 서버를 실행시키고 있습니다. 여러 개의 repo 에서 하나의 머신을 바라보도록 actions runner를 설정해놓았는데.. 문제가 생기기 시작했습니다. 첫번째, 지저분합니다. 각 레포의 갯수만큼 runner 설정이 늘어나다보니 관리해야 할 runner 수가 많아져 지저분하고 번거로운 상황이 종종 생겼습니다. 둘째, 리소스 낭비가 있습니다. 보통 runner 를 실행할 때만 켜두지않고 백그라운드로 돌아가게 설정해놓고 있습니다. 이 때 백그라운드에서 돌아가는 runner 의 수가 많아지니 종종 CPU 점유율이 100%를 치고 서버가 죽어버리는 경우가 종종 생겼습니다. Organization runner 설정 방법1. ..
2025.06.05
no image
413 Request Entity Too Large 에러 해결
리뷰 작성 페이지에서 이미지 첨부 후 API 를 쐈더니 413 Request Entity Too Large 에러가 발생했다. 원인nginx 리버스 프록시는 요청의 최대 크기를 기본적으로 1MB 로 제한하고 있기 때문이였다. 내가 작성한 리뷰는 1MB 이상이라 해당 에러가 발생했던 것이였다. 해결 방법nginx.conf 에서 요청 최대 크기 설정을 변경해주면 된다. linux 기준 nginx.conf 는 /etc/nginx 디렉토리에 있다. 1. nginx.conf 설정먼저 nginx.conf 에서 설정을 변경해주어야한다. 여기서 선택할 수 있는 옵션은 3가지가 있다. http 블록모든 http 요청에 대해 size 설정을 하겠다, 하면 http 블록 내에 설정하면 된다.http { ... ..
2025.05.23
no image
서버 하나로 프론트/백 서비스하기 (w. NginX 리버스 프록시)
라멘로드를 개발하며 느낀 점 중 하나는 AWS는 비싸다입니다. 고작 1GB 메모리에, 1vCPU 짜리 EC2와 Https 를 위한 ELB 만 해도 매달 45달러.. 한화로 64,089원이 나갑니다. 물론 ELB는 트래픽에 비례하기 때문에 사용자가 많아지면 많아질 수록 이용료는 더욱 늘어나겠죠.. 라멘로드 팀은 금전적 문제로 인해 하나의 서버에서 프론트/백을 모두 서비스하기로 결정했습니다. 하나의 서버에서 프론트와 백을 모두 서비스하려면 리버시 프록시를 이용하면 됩니다. 리버스 프록시란리버스 프록시에 대해 내가 설명하는 것보다 설명을 더 잘해주시는 분이 계시니 굳이 제가 할 필요는 없는 것 같습니다. 리버스 프록시 설정프론트와 백은 현재 Docker 로 서비스하고 있는데 프론트는 포트번호 5010..
2025.04.20
NginX + Docker + Github actions 무중단 배포
2024년 8월 6일 작성한 글입니다. 서비스를 개발하며 벼르고 있던 작업 중 하나였습니다. 구현 작업이 느슨해질 때 쯤 작업했었네요. 이 작업은 개발/배포 환경에 영향을 많이 받다보니 외부 코드를 차용하지 못하고 직접 코드를 많이 타이핑했었던 기억이 남아있습니다..1. 문제 인식 | “어? 서버 오류났어요”사실 ‘무중단 배포’ 구축 작업 자체는 워낙 유명한 CD 작업이기 때문에, 문제가 발생하기 전에도 ‘이건 나중에 꼭 작업해야지’ 라고 인식하고 있던 작업이였습니다.직접적으로 해당 작업 필요성에 대해 필요성을 느끼게 된 건 배포 작업이 잦아지면서부터였습니다. 기능 개발과 버그 픽스가 빠르게 이루어지며 배포 주기가 짧아지고, 특히 테스트를 위해 개발 서버에 변경 사항을 반영할 때 문제가 두드러졌습니다.2..
2024.11.13
Docker Image 경량화
2024년 7월 24일 작성한 글입니다.2024년 2월 경 도커 파일 크기가 생각보다 많이 큰 것에 대해 의구심을 가지게 되었고 이를 해결한 일지입니다.1. 도커 파일은 원래 이렇게 큰가2024년 2월 초, Github actions 배포 자동화 라인을 통해 개발 서버에 배포를 하던 중 오류가 발생했습니다. 원인은 서버에 EBS 볼륨 용량이 부족하다는 것이였습니다. EC2 생성 시 자동 할당되는 EBS 볼륨의 크기는 8GB이며, 도커 파일을 저장하는 것 외에 디스크 사용을 하지 않는 서버다보니 용량 부족은 제겐 좀 의문이 드는 상황이였습니다. 서버에 들어가서 용량을 확인해보니 정말 디스크 용량 사용률이 100% 였습니다. 아니 이게 무슨 황당한 경우인가. 리눅스에 깔려있는 것이라곤 도커와 도커 이미지 ..
2024.11.13
fly.io 서버 배포 및 API 테스트 방법
2023년 3월 15일에 작성한 글 입니다.1. 배경2023년 2월동안 팀 프로젝트로 스터디에 도움을 주는 웹 앱을 만들게 되었습니다. 마지막 배포를 위해 여러 플랫폼을 찾던 중 무료 플랫폼인 fly.io를 통해 배포를 하기로 하였고 성공적으로 서버 배포를 하였습니다.첫 배포이다보니 크고 작은 시행착오들이 있었어서 시행착오들 해결을 포함한 배포 방법과 배포 이후 API 테스트까지의 내용을 정리하겠습니다.준비물은 개발 완료된 소스코드(빌드된)만 있으면 됩니다.2. fly.io 배포우선, powershell 로 진행했습니다.2-1. flyctl 다운로드powershell 에서 아래 명령어를 입력하여 flyio ctl을 다운로드합니다.ctl은 커맨드라인 유틸리티입니다.iwr https://fly.io/inst..
2024.11.13