젠킨스와 nginx를 통해서 배포 자동화를 구현해보려고 하였습니다.여기에 관련해서 시행착오가 많았는데 정리하려고 합니다. 일단 구조는 다음과 같습니다. 1. aws ec2 instance jenkins 설치2. docker compose 로 nginx, postgresql, certbot, spring 이미지 빌드 후 실행 이상하다고 생각할 수 있는데, 맞습니다. 1번 방법을 먼저 수행해봤고, 2번 방법으로 나중에 도입했기 때문에 보통은 jenkins도 docker compose로 띄워야 네트워크 이슈도 적고, 관리도 편하다는 것을 나중에 깨달았습니다. AWS EC2 프리티어 기준입니다. 1. SWAP 메모리 설정관련해서 이전에 포스팅을 한 적이 있습니다.https://iii.ad/67bfb72. Do..
간단하게 만들어 본 사이드 프로젝트를 백엔드만 배포하려고 할 때 거쳤던 여러가지 배포 방법 고민에 대해 공유하면 좋을 것 같아서 정리해놓으려고 합니다. 그래서 배포란 무엇일까?기획 -> 요구사항 분석 -> 역할 분담 -> 개발 -> 배포 -> 지속적인 서비스 개선 (리팩토링)개발자들이 개발한 앱, 웹 서비스들을 일반 사용자들이 접근할 수 있게 하는 것이 배포라고 할 수 있습니다. 이런 배포를 하려면 컴퓨터 한 대가 필요합니다. 온프레미스 환경이라고 부릅니다.정확히 말하면, 온프레미스 환경은 단순히 입출력 장치가 포함된 컴퓨터를 의미하는 것이 아니라, 물리적인 하드웨어 인프라를 구축하여 우리의 웹사이트를 24시간 안정적으로 운영할 수 있도록 하는 것을 말합니다. 그러나 24시간 365일 서버를 계속 가동하..
100만개의 행을 가지고 있는 employees을 생성하였다. id(row_id)와 name(이름) 1000001개의 행 ID : Integer | NOT NULL | auto increment (인덱스 가지고 있음) Name : 랜덤으로 만들어진 이름 실행계획과 쿼리의 수행 시간을 확인할 수 있는 postgre 의 명령어 explain analyze [쿼리] 실습1 인덱스가 존재하는 컬럼을 조회(Scan) explain analyze select id from employees where id = 2000; Index Only Scan using employees_pkey on employees ~~ :인덱스를 활용하여 스캔을 진행 Heap Fetches : 0 -> Heap영역에 접근할 필요 없음(w..
문제점 "psql" does not exist docker로 실행한 postgres db에 연결이 안 되는 문제가 발생! 소켓에서 서버에 연결합니다. 실패, 데이터베이스 "psql"이 존재하지 않습니다. 라는 에러가 발생 해결 https://yeojin-dev.github.io/blog/postgresql-ubuntu/ Ubuntu 환경에서 PostgreSQL 설치 후 리모트 접속하기 YEOJIN-DEV yeojin-dev.github.io psql --username=postgres --dbname=postgres 이렇게 입력해주면 현재 시스템 유저와 같은 이름으로 PostgreSQL을 사용할 수 있다고 한다.