Linux 5

[서버/운영체제] 리눅스 커널에 마법을 부리다! 2026년 클라우드 인프라의 핵심 'eBPF' 완벽 가이드

서버 모니터링과 보안, 왜 항상 무겁고 느렸을까?우리가 관리하는 리눅스(Linux) 서버에서 "네트워크 트래픽이 어디서 병목이 생기는지", "누가 악의적인 패킷을 보내고 있는지" 확인하려면 어떻게 해야 했을까요?과거에는 애플리케이션 코드를 수정해서 모니터링 툴을 달거나, 서버마다 무거운 '에이전트(Agent)' 프로그램을 설치해야 했습니다. 더 깊은 시스템 통제를 원한다면 위험을 무릅쓰고 리눅스 커널 소스코드를 직접 수정하거나 커널 모듈을 다시 컴파일(재부팅 필수!)해야 하는 끔찍한 과정을 거쳐야 했죠.하지만 2026년 현재, 클라우드와 쿠버네티스(Kubernetes) 생태계에서는 이런 복잡한 짓을 더 이상 하지 않습니다. 서버를 재부팅할 필요도, 애플리케이션 코드를 단 한 줄도 건드릴 필요 없이 커널 ..

[Linux/리눅스] "Address already in use" 포트 충돌 에러 원인 및 완벽 해결 방법 (netstat, kill)

잘 돌아가던 서버가 갑자기 켜지지 않을 때리눅스 서버에서 Nginx, Apache, Tomcat 같은 웹 서버나 애플리케이션 서비스를 실행(또는 재시작)할 때, 개발자라면 누구나 한 번쯤 마주치는 짜증 나는 에러가 있습니다.nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)바로 "이미 사용 중인 주소(포트)입니다"라는 의미의 포트 충돌 에러입니다.분명히 서비스를 종료하고 다시 켰는데 왜 이런 현상이 발생할까요? 가장 흔한 원인은 서버를 재시작하는 과정에서 이전 프로세스가 정상적으로 완전히 종료되지 않고 백그라운드에 '좀비 프로세스'로 남아 해당 포트(예: 80번)를 계속 쥐고 있거나, 자동 실행 설정으로 인해 이미 동일한 서비스..

[리눅스/Linux] 서버 시간 확인 및 타임서버 동기화 완벽 가이드 (date, rdate)

리눅스 서버 시간이 자꾸 틀어진다면?리눅스(Linux) 서버를 운영하다 보면 하드웨어 메인보드의 수명이나 가상화 환경의 특성 등으로 인해 서버의 시간이 실제 시간과 조금씩 어긋나는 현상(Time Drift)이 발생하곤 합니다."시간 1~2분 틀어진 게 대수인가?"라고 생각하실 수 있지만, 실무에서는 아주 치명적인 문제를 일으킬 수 있습니다. 시스템 장애가 발생했을 때 로그(Log) 파일의 시간이 안 맞으면 원인 추적이 불가능해지고, 데이터베이스(DB)의 트랜잭션 순서가 꼬이거나, 보안 인증서(SSL) 갱신 시 시간 오류로 서비스가 뻗어버리는 대참사가 일어날 수도 있죠.오늘은 리눅스 서버에서 현재 시간을 확인하고, 수동으로 시간을 변경하거나, 공용 타임서버(Time Server)를 이용해 1초의 오차도 없..

[리눅스/Linux] "Address already in use" 포트 충돌 오류 해결 방법 (netstat, kill)

잘 되던 서버가 갑자기 실행되지 않을 때리눅스 서버에서 Nginx나 Tomcat, Node.js 같은 웹 서비스들을 기동하려 할 때, 가장 흔하게 마주치는 에러 메시지가 하나 있습니다. 바로 bind() to 0.0.0.0:80 failed (98: Address already in use) 와 같은 포트 충돌 에러입니다.분명히 서비스를 종료하고 다시 켰는데 왜 이런 에러가 날까요? 가장 큰 원인은 이전에 실행했던 프로세스가 정상적으로 죽지 않고 '좀비'처럼 백그라운드에 남아 해당 포트(예: 80번, 8080번 등)를 계속 점유하고 있거나, 서버 재부팅 시 자동 실행 설정으로 인해 이미 동일한 서비스가 몰래(?) 돌고 있기 때문입니다.오늘은 이렇게 억울하게 점유당한 포트를 찾아내고, 원인이 되는 프로세스..

[Linux/Tomcat] catalina.out 로그 무한 증식 해결! logrotate로 자동 분할 및 압축 관리하기

서버 디스크 용량 부족의 주범, catalina.out 리눅스(Linux) 환경에서 톰캣(Tomcat) 서버를 운영하다 보면 누구나 한 번쯤 겪게 되는 무서운 장애가 있습니다. 바로 **'디스크 용량 100% 초과(Disk Full)로 인한 서버 다운'**입니다. 부랴부랴 서버에 접속해서 원인을 찾아보면, 십중팔구 톰캣의 로그 파일인 catalina.out 파일의 용량이 비정상적으로 비대해져 있는 것을 발견하게 됩니다.톰캣은 기본적으로 시스템에서 발생하는 모든 표준 출력(System.out)과 에러(System.err)를 catalina.out이라는 하나의 파일에 계속해서 이어붙여 저장합니다. 서비스가 커지고 접속량이 많아질수록 이 파일은 하루에도 몇 기가바이트씩 쌓이게 되죠.이러한 시한폭탄 같은 로그 ..