본문 바로가기

728x90
728x90

DevOps

[Apache] 아파치에서 가상호스팅 설정하는 방법 - 컴도리돌이 여러 개의 도메인이 같은 IP 주소를 공유하고, 각 도메인이 특정 포트로 연결되도록 설정하려는 경우가 존재합니다. 이는 아파치 웹 서버에서 가상 호스팅(Virtual Hosting)을 사용하여 구현할 수 있으며, 이번 포스팅에서는 가상 호스팅에 짧은 개념과 설정 방법에 대해 적어 나가려고 합니다. 가상호스팅 (Virtual Hosting)가상 호스팅은 하나의 웹 서버에서 여러 도메인을 호스팅 할 수 있게 해주는 방법으로 두 가지 주요 방식이 존재합니다. 첫 번째는 이름 기반 가상호스팅이고, 두 번째는 IP 기반 가상 호스팅입니다. 이번 포스팅에서는 하나의 IP 주소에서 여러 도메인을 포트별로 구분하여 호스팅 하는 방법을 설명합니다. 이를 포트 기반 가상 호스팅이라고 할 수 있습니다. 아파치 설정 파일 수.. 더보기
[AWS][Route 53] DNS 레코드에 대해서 - 컴도리돌이 새로운 프로젝트에 대한 개발 인프라를 구축해야 하는 일이 생겼습니다. 🤔🤔인프라 작업 계획서를 작성하고 컨펌받으면서 모르는 부분이 너무 많아서, 이번 기회에 해당 내용들을 차근차근 정리하려고 해요. 😊사실 레코드 만드는 건 어렵지 않아요. 서브도메인 이름 알맞게 넣고, 기본 유형에 인스턴스 ip, 그리고 기존에 존재하는 다른 레코드의 ttl를 따라 하거나, 적정한 값에서 조절하면 되고 라우팅 정책도 다른 레코드와 유사하게 아니면 기본적인 값을 집어넣으면 돼요. 😎 짜잔 10초 만에 레코드를 생성할 수 있답니다. 😆😆  하지만 저는 각 항목에 대한 이해가 부족하기 때문에 이번 포스팅에서는 각각 어떤 의미를 갖고, 어떤 역할을 하는지 포스팅하려고 해요.  AWS Route 53에서 레코드를 생성할.. 더보기
[Kafka][ERROR] Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.13.12' - 컴도리돌이 이번에 업무로, 메인 프로젝트에서 사용했던 API 호출 기능을 consumer 프로젝트로 이전시키는 일을 맡게 되었어요. 하지만 나는 카프카를 사용해 본 적이 없죠! 😎   길을 개척한 팀장님의 코드를 보면서, 정상 작동하게끔 개발을 하는 것은 어렵지는 않지만,,, 🙄🙄그래도 직접 로컬에서 카프카를 설치하여, 프로젝트랑 연동해서 테스트를 해봐야 개발자 아니겠습니까 🤔 하지만 카프카를 실행시키는 것 조차도 순탄하지 않네요 🥲 시작한 지 10분 만에 맞닥뜨린 오류는 다음과 같아요.. Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.13.12' 이미 저와 같은 동지 개발자분.. 더보기
[Docker] 도커 컨테이너(Docker Container)와 도커 이미지(Docker Image)에 대해서 - 컴도리돌이 [Docker] 도커 엔진(Docker Engine)에 대해서 - 컴도리돌이회사에서 이제 카프카(kafka), 도커(docker), 엘라스티서치(elk), 등을 도입 얘기가 나오는데, 나는 아무것도 모릅니다. 😓 오늘은 도커 엔진에 대해 포스팅을 해볼 생각입니다. 아는 게 많고 해 봤던comdolidol-i.tistory.com Install Docker Desktop on MacInstall Docker for Mac to get started. This guide covers system requirements, where to download, and instructions on how to install and update.docs.docker.com 이전 포스팅에서 도커 엔진이 어떻게 구성되어.. 더보기
[Docker] 도커 엔진(Docker Engine)에 대해서 - 컴도리돌이 회사에서 이제 카프카(kafka), 도커(docker), 엘라스티서치(elk), 등을 도입 얘기가 나오는데, 나는 아무것도 모릅니다. 😓 오늘은 도커 엔진에 대해 포스팅을 해볼 생각입니다. 아는 게 많고 해 봤던 것이 많은 개발자가 얼른 되고 싶네요 😭😭 도커(Docker)도커는 클라이언트-서버 모델을 구현한 애플리케이션입니다.  도커 엔진은 도커 컴포넌트(Docker Componets)와 서비스를 제공하는 컨테이너를 구축하고 실행하는 기본 핵심 소프트웨어이에요.  Docker Demon, Docker Client, Docker image, Docker Container, Docker Registry로 주요 구성되어 있으며, 개발자가 흔히 도커라고 할 때, 주로 Docker Engjine을 의미합니.. 더보기
[AWS] VPC, Subnet, 보안 그룹에 대해서 - 컴도리돌이 기존 메인 서버에 사용했던 레디스를, 다른 서버에서 관리하는 로직을 개발하려고 했습니다. 당연히 메인 서버에서 설정한 레디스 설정을 그대로 사용하여, 필요한 기능을 구축했습니다. 개발 완료 후에 선임 개발자에게 "메인 서버와 같은 동일한 설정을 하면 과연 작동할까요? 작동하지 않을까요? 각각의 이유를 생각하면 좋겠어요."라는 질문을 받았습니다. 🫥🫥 질문은 오늘 포스팅할 "VPC, subnet 및 보안 그룹에 대한 개념을 갖고 있나요?"라는 의도였고, 저는 당당히 몰랐습니다. 😎 그래서 이번 기회가 아니면, 한 동안 다시는 공부하지 않을 저를 알기에,, 😊 하나부터 열까지 내용을 차근차근 적어 내려가면서 스터디를 할 생각이에요. VPC는 아마존에서 제공하는 가상 네트워크 서비스로, 가상 네트워크에서 리소.. 더보기
[Tomcat] 톰캣 외부 경로 파일 업로드 - 컴도리돌이 외부에서 접근해야 하는 리소스를 webapp 폴더 하위에 있는 resource 파일 안에 저장을 하였습니다. 하지만 WAR 파일을 재배포할 때마다 업로드된 파일들이 사라지면서 재 업로드 해야 하는 경우가 있기에, 외부에서 접근하는 경로를 톰캣 상위 루트 경로로 변경하고, 서버에서도 업로드할 때 해당 루트 경로에 넣으려고 합니다. 1. 서버에서 루트 경로로 파일 업로드 Apache Commons FileUpload 및 서블릿 API 라이브러리 추가합니다. commons-fileupload commons-fileupload 1.4 javax.servlet javax.servlet-api 3.1.0 provided '@WebServlet' 어노테이션은 서블릿을 정의하고 매핑하는 데 사용되는 Java EE 웹 .. 더보기
[Tomcat] 톰캣에서 가상 호스트 및 웹 애플리케이션 설정하는 방법 - 컴도리돌이 톰캣에서 서블릿 컨테이너에 웹 애플리케이션을 배포하고 관리하기 위한 설정은 "호스팅(hosting)"이라고 합니다. 특히, 'server.xml' 파일에서 '' 엘리먼트를 사용하여 웹 애플리케이션을 호스팅 하고 설정하는 것에 그에 해당합니다. 이러한 호스팅 설정은 다양한 목적으로 사용될 수 있습니다. 특히 여러 개의 도메인이나 서브도메인을 하나의 톰캣 서버에서 운영하고자 할 때, 각각을 별도의 호스트로 설정하여 구분할 수 있습니다. 이때 호스트(host)는 가상 호스트(virtual host)로도 불릴 수 있습니다. 일반적으로 사용되는 'server.xml' 설정에서 '' 엘리먼트는 다음과 같이 생겼습니다. .... name: 호스트의 이름을 지정합니다. appBase: 웹 애플리케이션 파일들이 위치하는.. 더보기