서버 운영
서버 재부팅 후 접속이 안 될 때 점검 순서
서버가 재부팅되거나 서비스가 멈춘 후 접속이 안 되면, 네트워크 포트부터 확인해야 한다.
운영 서버가 재부팅되거나 문제가 있어서 재시작한 후 접속이 안 되는 경험을 할 수 있다. 이 경우 단순히 "서비스가 안 올라왔다"로 판단하기 쉽지만, 실제로는 여러 원인이 있을 수 있다. 체계적으로 확인해야 한다.
네트워크 포트와 서비스 상태 확인
가장 먼저 확인할 것은, 서비스가 올라와 있는지와 포트를 열어두었는지다.
sudo ss -lntp
이 명령어로 현재 서버에서 열려 있는 포트들과 그 포트를 사용하는 프로세스를 볼 수 있다. 예를 들어 80번(HTTP) 또는 443번(HTTPS) 포트가 열려 있는가? 예상한 서비스 프로세스가 그 포트를 사용하고 있는가?
포트가 열려 있지 않다면, 서비스 자체가 시작되지 않았거나 다른 포트로 바뀌었을 것이다.
디스크 용량 확인
서비스가 시작하지 못하는 경우가 많다. 그 이유 중 하나는 디스크가 가득 찼기 때문이다.
df -h
결과에서 루트 파티션(/)의 사용률을 보자. 100%에 가깝다면, 로그 파일이나 임시 파일들을 정리해야 한다. 보통 /var/log 디렉토리에 있는 오래된 로그 파일들을 압축하거나 삭제하면 공간을 확보할 수 있다.
서비스 로그 확인
서비스가 시작하지 못한 이유를 찾기 위해 시스템 로그와 서비스 로그를 확인해야 한다.
sudo journalctl -n 80
이 명령어로 시스템 저널의 최근 80줄을 볼 수 있다. 재부팅 후 어떤 에러가 기록되었는가?
특정 서비스의 로그를 보려면:
sudo journalctl -u service-name -n 50
이렇게 하면 그 서비스만의 로그를 볼 수 있다.
권한 확인
재부팅되면 파일 권한이 이상하게 되는 경우도 있다. 서비스가 실행될 디렉토리의 권한이 제대로 설정되었는가?
ls -la /path/to/service/
서비스를 실행하는 사용자가 그 디렉토리에 읽기 및 실행 권한을 가지고 있어야 한다.
검증: 단계별 확인
sudo ss -lntp로 포트가 열려 있는지 확인- 포트가 닫혀 있다면,
sudo journalctl -n 80로 에러 메시지 확인 - 디스크가 가득 찼는지
df -h로 확인 - 권한이 제대로 설정되었는지
ls -la로 확인 - 서비스를 수동으로 시작해보고, 로그에 에러가 나오는지 확인
이 순서대로 확인하면, 대부분의 경우 문제를 찾을 수 있다.