Server 44

Tomcat 9.0 디렉터리 구조와 주요 구성요소

Apache Tomcat 9.0을 설치하면 여러 디렉터리와 파일들이 함께 제공된다.각 폴더와 파일은 서버 실행, 설정, 로그 관리, 웹 애플리케이션 배포 등 다양한 역할을 담당한다. 이번 글에서는 Tomcat 9.0 기준으로, 실제 운영에서 많이 쓰이는 폴더/파일을 중심으로 전체 구조를 살펴보고자 한다. Tomcat 9.0 기본 디렉터리 구조 1. bin/ - 실행 관련 스크립트역할: 톰캣 서버 시작/종료 및 실행 환경 제어주요 파일startup.sh / startup.bat → 서버 실행shutdown.sh / shutdown.bat → 서버 종료catalina.sh / catalina.bat → 실행 옵션 제어(톰캣의 핵심 런처)setenv.sh / setenv.bat → JVM 옵션, 환경 변수..

Server/Tomcat 2025.10.02

아파치(Apache)와 톰캣(Tomcat) - 왜 "아파치 톰캣"이라고 부를까?

웹 서비스를 구축하다 보면 "아파치(Apache)"와 "톰캣(Tomcat)"이라는 용어를 자주 접하게 된다.특히 자바 기반 웹 애플리케이션을 운영할 때는 톰캣 위에 war 파일을 올려 배포하는 경우가 많다. 그런데, 두 개념이 헷갈리기도 하고, "아파치 톰캣"이라는 이름 때문에 아파치와 톰캣이 하나로 묶여 있다고 생각하는 경우도 많다. 이번 글에서는 아파치와 톰캣의 개념, 역할, 그리고 "아파치 톰캣" 이라는 명칭의 진짜 의미를 정리해보고자 한다. 1. 아파치(Apache)란?정식 명칭: Apache HTTP Server (줄여서 Apache, 또는 Apache HTTPD)역할: 정적인 웹 문서(HTML, CSS, 이미지 등)를 클라이언트(브라우저)에게 전달하는 웹 서버(Web Server)특징정적..

Server/Tomcat 2025.10.02

TOSCA 모델을 활용한 서비스 자동화

이전에 진행했던 프로젝트에서 TOSCA 모델을 활용해 서비스 아키텍처를 정의하고 자동화된 배포 환경을 구성한 경험이 있었다. 그 과정에서 단순한 스크립트 기반 자동화보다 한 단계 발전된, 서비스 구조 자체를 모델링하는 방식의 장점을 직접 체감할 수 있었다. 이 글에서는 그 경험을 바탕으로 TOSCA 모델이 무엇인지, 어떤 방식으로 활용되는지, 그리고 실제 예시 모델은 어떻게 생겼는지를 정리해보고자 한다. TOSCA란?TOSCA(Topology and Orchestration Specification for Cloud Applications)는 OASIS에서 정의한 표준 언어로,클라우드 애플리케이션과 네트워크 서비스를 **구성 요소 간 관계(Topology)**와 **배포 및 관리 방법(Orchestra..

Server 2025.08.28

Ansible 첫걸음: 자동화를 통한 서버 관리 입문

이전에 나는 OpenStack을 이용해 SDN 환경을 구성한 적이 있었다. 두 개의 Ubuntu 인스턴스를 띄우고, 그 위에 Docker와 Kubernetes를 올렸다. 마지막에는 GitLab까지 설치해 CI/CD까지 연결하면서 서버 구성을 완성했는데, 이 과정에서 깨달은 점이 하나 있다. “이걸 다 수동으로 하면, 서버가 조금만 늘어나도 답이 없겠다.” 그때는 서버가 두 대뿐이라 직접 명령어를 치고 패키지를 깔고 설정 파일을 만지면서 어떻게든 마무리할 수 있었다. 하지만 다섯 대, 열 대가 되면? 혹은 동일한 환경을 다시 한 번 새로 만들어야 한다면? 그때는 분명히 시간이 엄청 걸리고, 실수도 잦아질 거다. 그래서 자연스럽게 찾아보게 된 게 Ansible이라는 도구다. 이번 글에서는 Ansible이 어..

Server 2025.08.28

journalctl 로그 관리 - 설정과 보관 기간 다루기

journalctl은 로그를 확인하는 도구지만, 실제 로그가 어떻게 저장되고 얼마나 오래 보관되는지는 systemd의 저널 데몬 설정(systemd-journald)에 의해 결정된다. 이번 글에서는 로그가 저장되는 경로, 설정 방법, 그리고 보관 기간을 조절하는 방법까지 함께 살펴본다. 1. 로그 저장 위치는 어디인가?journal 로그는 /etc/systemd/journald.conf 파일의 Storage 옵션에 따라 저장 위치가 달라진다.Storage 설정 값로그 저장 위치설명volatile/run/log/journal메모리 저장. 재부팅 시 로그 소멸persistent/var/log/journal디스크 저장. 재부팅 후에도 유지auto (기본값)자동 감지/var/log/journal 폴더가 있으면..

Server/Linux 2025.06.20

journalctl이란? systemd의 로그 뷰어

Linux 시스템에서는 다양한 로그가 발생한다. 과거에는 syslog, rsyslog 등의 시스템 로그 데몬을 통해 로그를 관리했지만,modern Linux 배포판에서는 systemd가 기본 init 시스템으로 자리 잡으면서 journalctl이라는 로그 관리 도구가 함께 제공된다. 1. journalctl의 개요journalctl은 systemd journal 로그를 조회하고 관리하는 명령어 도구이다.시스템 부팅 로그, 서비스 상태 로그, 커널 메시지 등을 통합적으로 관리하며, 로그 필터링 및 검색 기능도 제공한다. 2. 기존 syslog와의 차이점 항목syslogjournalctl (systemd)로그 포맷텍스트 중심바이너리 로그 (압축, 메타데이터 포함)저장 위치/var/log/messages 등..

Server/Linux 2025.06.20

DNS란 무엇인가? 인터넷의 주소를 번역하는 시스템

DNS의 정의DNS(Domain Name System)은 인터넷에서 사용하는 도메인 이름을 IP 주소로 변환하는 시스템이다.우리가 naver.com 이나 tistory.com 같은 주소를 입력했을 때, 실제 통신은 이 도메인에 해당하는 IP주소로 이루어진다.DNS는 이 중간 과정을 처리하는 역할을 한다. 왜 필요한가?컴퓨터는 문자열 형태의 도메인 이름을 이해하지 못한다.인터넷 통신은 결국 숫자로 이루어진 IP 주소를 통해 이루어지며, DNS는 이 IP를 자동으로 찾아주는 주소 변환기 역할을 한다. 예를 들어 사용자가 웹 브라우저에 naver.com 을 입력하면, 시스템은 다음과 같은 과정을 거친다.naver.com → DNS 서버에게 질의DNS 서버가 해당 도메인에 대한 IP 주소 반환해당 IP로 HT..

Server 2025.05.21

[Ubuntu 18.04] 웹 크롤링 중 getaddrinfo EAI_AGAIN 에러 발생, DNS관련 이슈 해결기

문제 상황최근 Node.js 기반으로 cheerio 를 사용해 티스토리 게시글을 크롤링하는 스크립트를 작성했다.로컬 PC에서는 잘 작동했지만, 운영환경(AWS EC2, Ubuntu 18.04) 에서는 다음과 같은 에러가 발생했다. 해당 URL은 정상적인 티스토리 블로그 주소였고, 로컬에선 문제없이 동작했기에 더욱 당황스러웠다. 원인 분석EAI_AGAIN 은 Node.js 내부의 getaddrinfo 호출에서 발생하는 에러로, 보통 DNS* 조회 실패를 의미한다.(DNS에 대해서 궁금하다면 관련포스팅을 참고하자.) 운영 서버에서 다음 명령어로 테스트해봤다.curl https://티스토리주소.tistory.comnslookup tistory.com 그러나 둘 다 실패했다. 즉, 서버 자체가 외부 DNS를 ..

Server 2025.05.21

RESTful API 디자인 마스터하기: 실용적인 가이드

오늘은 dev.to 사이트에서 RESTful API 디자인 관련 유용한 포스팅이 있어서, 직접 한글로 번역하여 포스팅하게 되었다.[원본 포스팅: https://dev.to/leapcell/mastering-restful-api-design-a-practical-guide-408]RESTful API(Representational State Transfer API)는 네트워크 애플리케이션 간 상호작용에 사용되는 네트워크 인터페이스 디자인 스타일이다. REST는 특정한 표준이나 프로토콜이 아니라, 아키텍처 원칙과 제약 조건의 집합이다.웹 서비스가 "RESTful" 일 때 REST원칙을 따르고 효율적이고 안정적이며 확장 가능한 네트워크 서비스를 제공한다. RESTful 서비스에서 각 요청는 요청을 처리하는데 ..

Server 2025.02.23

IIS에서 초기 로딩 속도 개선하기: 앱 풀 유지 및 Preload Enabled 설정

IIS에서 ASP.NET MVC 애플리케이션을 운영하다 보면 첫 요청 속도가 느려지는 문제를 겪을 수 있다.이는 앱 풀(Application Pool) 재활성화 정책 또는 서버 재부팅 시 초기 로딩이 필요하기 때문이다. 이번 포스트에서는 앱 풀 유지 및 "Preload Enabled" 관련 설정을 적용하여 서버 재시작 후에도 애플리케이션이 항상 실행되도록 설정하는 방법을 정리하고자 한다. 1. IIS 앱 풀 재활성화 주요 원인IIS의 앱 풀은 일정 시간이 지나면 비활성화되거나 재시작될 수 있으며, 이 과정에서 모든 어셈블리와 View가 다시 로드되어 초기 로딩 시간이 길어질 수 있다. 이는 기본적인 앱 풀 재활성화 정책 때문이다. (1) Idle Timeout - 기본적으로 IIS는 일정 시간(기본값: ..

Server 2025.02.22
반응형