CentOS 3

[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번 등)를 계속 점유하고 있거나, 서버 재부팅 시 자동 실행 설정으로 인해 이미 동일한 서비스가 몰래(?) 돌고 있기 때문입니다.오늘은 이렇게 억울하게 점유당한 포트를 찾아내고, 원인이 되는 프로세스..