리눅스

리눅스 서버 재기동 후 서비스 안 뜬다면 자동 기동 설정 확인하는 법

opsnote 2026. 6. 8. 22:56

리눅스 서버 재기동 후 서비스가 자동으로 뜨지 않을 때 systemctl is-enabled 명령어로 자동 기동 설정을 확인하는 방법을 설명하는 이미지입니다.

리눅스 서버를 재기동한 뒤 서비스가 자동으로 올라오지 않는 경우가 있습니다.
분명히 어제는 서비스가 떠 있었는데, 서버 재부팅 후 확인해보니 inactive 상태로 남아 있는 상황입니다.

이럴 때 바로 systemctl start부터 누르기보다 먼저 봐야 할 것이 있습니다.

바로 자동 기동 설정입니다.

현재 서비스가 실행 중인지 확인하는 것과, 서버 재기동 후 자동으로 실행되도록 설정되어 있는지는 다른 문제입니다.
이번 글에서는 리눅스 서버에서 서비스 자동 기동 설정을 확인하는 방법과, 서버 재기동 후 서비스가 안 뜰 때 확인할 순서를 정리해보겠습니다.


서비스가 떠 있는 것과 자동 기동은 다르다

먼저 이 차이를 잡고 가야 합니다.

systemctl status nginx

이 명령어는 현재 nginx 서비스가 실행 중인지 확인합니다.

반면 자동 기동 설정은 아래 명령어로 확인합니다.

systemctl is-enabled nginx

둘은 보는 대상이 다릅니다.

status = 지금 서비스가 떠 있는지 확인
is-enabled = 서버 재기동 후 자동으로 뜨는지 확인

예를 들어 서비스가 현재는 실행 중이어도 자동 기동 설정은 꺼져 있을 수 있습니다.

현재 상태: active
자동 기동: disabled

이런 상태라면 지금은 서비스가 떠 있지만, 서버를 재기동하면 자동으로 안 올라올 수 있습니다.


자동 기동 설정 확인 명령어

서비스 자동 기동 설정은 systemctl is-enabled로 확인합니다.

systemctl is-enabled nginx

결과는 보통 이런 식으로 나옵니다.

enabled

또는:

disabled

초보자 기준으로는 우선 이렇게 보면 됩니다.

enabled = 재기동 후 자동으로 올라오도록 설정됨
disabled = 재기동 후 자동으로 안 올라올 수 있음

서비스 상태까지 같이 보려면 아래 두 명령어를 같이 사용합니다.

systemctl status nginx --no-pager
systemctl is-enabled nginx

이 두 개를 같이 보면 현재 상태와 자동 기동 설정을 나눠서 판단할 수 있습니다.


enabled인데도 서비스가 안 뜰 수 있다

여기서 조심할 점이 있습니다.

enabled라고 해서 무조건 서비스가 정상으로 뜬다는 뜻은 아닙니다.

enabled는 서버 부팅 시 서비스를 자동으로 실행하도록 등록되어 있다는 뜻입니다.
하지만 서비스가 실제로 시작하는 과정에서 문제가 생기면 failed가 될 수 있습니다.

예를 들어 이런 경우입니다.

자동 기동 설정은 enabled
하지만 설정 파일 오류로 서비스 시작 실패
결과적으로 재기동 후 서비스는 failed 상태

그래서 서버 재기동 후 서비스가 안 뜨면 아래 두 가지를 같이 봐야 합니다.

systemctl is-enabled nginx
systemctl status nginx --no-pager

자동 기동 설정이 켜져 있는지, 실제 기동은 성공했는지 따로 확인해야 합니다.


disabled라고 무조건 장애는 아니다

반대로 disabled라고 해서 무조건 잘못된 것도 아닙니다.

어떤 서비스는 일부러 자동 기동을 꺼두기도 합니다.

예를 들면 이런 경우입니다.

수동으로만 실행하는 배치 서비스
특정 작업 때만 사용하는 서비스
이중화 구조에서 대기 서버에 있는 서비스
임시로 내려둔 테스트 서비스
자동으로 뜨면 안 되는 관리용 서비스

그래서 disabled를 봤다고 바로 enable을 치면 안 됩니다.

먼저 이 서비스가 재기동 후 자동으로 떠야 하는 서비스인지 확인해야 합니다.

운영 서버에서는 특히 이 부분이 중요합니다.
자동으로 뜨면 안 되는 서비스가 올라오면 오히려 장애가 될 수도 있습니다.


자동 기동 설정을 켜는 방법

자동 기동이 필요한 서비스인데 disabled 상태라면 enable로 설정할 수 있습니다.

systemctl enable nginx

이 명령어는 서버 재기동 후 nginx가 자동으로 올라오도록 등록합니다.

다만 enable은 현재 서비스를 바로 시작하는 명령이 아닙니다.

현재 서비스도 바로 시작해야 한다면 아래 명령을 따로 실행합니다.

systemctl start nginx

또는 한 번에 처리하려면 아래처럼 쓸 수 있습니다.

systemctl enable --now nginx

다만 운영 서버에서는 바로 실행하기보다, 변경 전후 상태를 기록하는 습관이 좋습니다.

systemctl is-enabled nginx
systemctl enable nginx
systemctl is-enabled nginx

자동 기동 설정을 끄는 방법

재기동 후 자동으로 올라오면 안 되는 서비스라면 disable을 사용할 수 있습니다.

systemctl disable nginx

주의할 점은 이것도 현재 실행 중인 서비스를 바로 내리는 명령은 아니라는 점입니다.

현재 서비스까지 중지하려면 stop을 사용해야 합니다.

systemctl stop nginx

정리하면 이렇게 볼 수 있습니다.

disable = 다음 부팅 때 자동 실행 안 되게 설정
stop = 지금 실행 중인 서비스 중지

이 둘을 헷갈리면 운영 서버에서 실수하기 쉽습니다.


서버 재기동 후 서비스가 안 뜰 때 확인 순서

서버를 재기동했는데 서비스가 자동으로 안 떠 있다면, 아래 순서로 확인하는 게 좋습니다.

1. 현재 서비스 상태 확인
2. 자동 기동 설정 확인
3. failed 여부 확인
4. 최근 로그 확인
5. 자동 기동이 필요한 서비스인지 판단
6. 필요 시 enable 또는 start 조치

명령어로 보면 이렇게 정리할 수 있습니다.

systemctl status nginx --no-pager
systemctl is-enabled nginx
systemctl --failed
journalctl -u nginx -n 100 --no-pager

자동 기동 설정이 꺼져 있고, 자동 기동이 필요한 서비스라면:

systemctl enable nginx

현재 서비스도 바로 올려야 한다면:

systemctl start nginx

자동 기동 확인은 서비스 점검표에 넣어두면 좋다

서버 점검을 할 때 보통 CPU, 메모리, 디스크, 포트만 보는 경우가 많습니다.
하지만 운영 서비스라면 자동 기동 설정도 점검 항목에 넣어두는 게 좋습니다.

특히 서버 재기동 작업 전후에는 더 중요합니다.

작업 전: 재기동 후 자동으로 떠야 할 서비스 목록 확인
작업 후: 실제 서비스 상태 확인
작업 후: 자동 기동 설정 유지 여부 확인

예를 들어 nginx라면:

systemctl status nginx --no-pager
systemctl is-enabled nginx

애플리케이션 서비스라면:

systemctl status app.service --no-pager
systemctl is-enabled app.service

이렇게 확인하면 “재기동 후 왜 서비스가 안 떴지?” 하는 상황을 줄일 수 있습니다.


운영 서버에서 주의할 점

자동 기동 설정은 단순해 보이지만 운영 서버에서는 조심해야 합니다.

특히 아래는 주의하는 게 좋습니다.

자동 기동이 필요한 서비스인지 먼저 확인하기
이중화 구성에서 active 서버인지 standby 서버인지 확인하기
배치 서비스는 자동 기동되면 안 되는 경우도 있음
enable, disable 변경 전후 상태 기록하기
서비스명 정확히 확인하기

비슷한 이름의 서비스가 여러 개 있으면 실수하기 쉽습니다.

app.service
app-worker.service
app-batch.service
app-admin.service

명령어 실행 전에는 서비스명을 다시 확인하는 게 좋습니다.


실무 보고 예시

서버 재기동 후 서비스가 안 올라온 상황이라면 이렇게 정리할 수 있습니다.

서버 재기동 후 nginx 서비스 상태를 확인한 결과 inactive 상태로 확인되었습니다.
자동 기동 설정 확인 결과 disabled 상태로 확인되어, 해당 서비스의 자동 기동 필요 여부를 확인하겠습니다.

자동 기동 설정을 변경했다면:

nginx 서비스 자동 기동 설정을 enabled 상태로 변경했습니다.
현재 서비스는 start 명령으로 기동 완료했으며, status 및 포트 LISTEN 상태를 추가 확인했습니다.

자동 기동은 되어 있지만 실패한 경우라면:

nginx 서비스는 enabled 상태이나 재기동 후 failed 상태로 확인되었습니다.
journalctl 로그 기준 설정 파일 오류 메시지가 확인되어 관련 설정을 추가 확인하겠습니다.

이렇게 쓰면 단순히 “서비스 올렸습니다”보다 훨씬 명확합니다.


정리

리눅스 서버에서 서비스가 재기동 후 자동으로 안 뜬다면 systemctl is-enabled부터 확인해보는 것이 좋습니다.

현재 서비스 상태 확인:

systemctl status nginx --no-pager

자동 기동 설정 확인:

systemctl is-enabled nginx

자동 기동 설정:

systemctl enable nginx

현재 서비스 시작:

systemctl start nginx

초보 운영자라면 이 문장만 기억해도 좋습니다.

status는 지금 상태를 보는 것이고, is-enabled는 재기동 후 자동 기동 설정을 보는 것이다.

서비스 확인도 결국 확인 → 판단 → 조치 순서가 중요합니다.

 

서비스 자동 기동 문제를 볼 때는 현재 실행 상태와 자동 기동 설정을 나눠서 확인하는 것이 좋습니다.

`systemctl status`는 지금 서비스가 떠 있는지 확인하는 명령어이고, `systemctl is-enabled`는 서버 재기동 후 자동으로 올라오도록 설정되어 있는지 확인하는 명령어입니다.

start, enable, is-active, is-enabled 차이가 헷갈린다면 아래 글을 함께 보면 좋습니다.

https://opsnote.tistory.com/30

 

리눅스 서버 재기동 후 서비스가 자동으로 안 뜰 때 systemctl enable disable 차이 확인하는 법

리눅스 서버에서 서비스를 직접 올릴 때는 보통 systemctl start를 사용합니다.systemctl start nginx 그런데 분명 서비스를 켜둔 것 같은데, 서버를 재기동한 뒤 다시 확인해보면 서비스가 안 떠 있는 경

opsnote.tistory.com

서비스가 실제로 정상 상태인지 먼저 확인하는 방법은 아래 글에서 이어서 볼 수 있습니다.

https://opsnote.tistory.com/27

 

리눅스 서버 서비스가 안 뜰 때 재기동부터 하지 말고 systemctl status 먼저 확인하는 법

리눅스 서버를 운영하다 보면 “서비스가 안 떠요”, “접속이 안 됩니다”, “프로세스가 죽은 것 같습니다” 같은 상황을 만날 수 있습니다.이럴 때 초보 운영자 입장에서 가장 먼저 떠오르는

opsnote.tistory.com


서버 재기동 후에도 서비스가 실패 상태로 남아 있다면 systemctl --failed로 실패한 서비스 목록도 함께 확인하는 것이 좋습니다.

https://opsnote.tistory.com/32

 

리눅스 서버에서 실패한 서비스 한 번에 확인하는 systemctl --failed 사용법

리눅스 서버에서 서비스가 안 뜨거나, 서버 재기동 후 뭔가 이상할 때 보통 특정 서비스 하나를 찍어서 systemctl status로 확인합니다.systemctl status nginx 그런데 실제 운영 상황에서는 어떤 서비스가

opsnote.tistory.com

 

리눅스 서버 장애 대응 전체 흐름은 아래 글에서 함께 보면 좋습니다.

https://opsnote.tistory.com/69

 

초보 운영자를 위한 리눅스 서버 장애 대응 순서 총정리

리눅스 서버를 운영하다 보면 어느 날 갑자기 이런 말을 듣게 됩니다.서버가 느립니다.접속이 안 됩니다.서비스가 안 뜹니다.디스크가 가득 찼습니다.로그가 계속 쌓입니다.재기동하면 될까요?

opsnote.tistory.com