0Pricing
DevOps Bootcamp · 강의

systemd로 서비스 관리하기

서비스를 시작하고 중지하며 활성화합니다.

systemd로 서비스 관리하기은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

장시간 실행되는 서비스 관리

systemd 모듈은 대부분의 최신 Linux 배포판에서 초기화 시스템으로 사용되는 systemd가 관리하는 서비스를 제어합니다. 이 모듈로 서비스를 시작하고 중지하며 활성화할 수 있습니다.

서비스 시작

서비스 이름을 지정하고 state: started로 설정합니다. 이 모듈은 서비스가 이미 실행 중이 아닐 때만 시작하므로 멱등성을 유지합니다.

ansible.builtin.systemd:
  name: nginx
  state: started

서비스 중지

state: stopped를 사용하여 서비스를 중지합니다. 항상 그렇듯이 서비스가 현재 실행 중일 때만 동작합니다.

ansible.builtin.systemd:
  name: nginx
  state: stopped

재시작 및 다시 로드

state: restarted는 서비스를 완전히 재시작하고, reloaded는 연결을 끊지 않고 구성을 다시 읽습니다. 재시작이 안전한 기본값입니다.

ansible.builtin.systemd:
  name: nginx
  state: restarted

시작과 활성화는 서로 다릅니다

state는 서비스가 지금 실행 중인지 제어합니다. enabled는 부팅할 때 서비스가 자동으로 시작되는지 제어합니다. 둘은 서로 독립적입니다.

부팅 시 활성화

enabled: true로 설정하면 재부팅 후 서비스가 자동으로 시작됩니다. started와 함께 사용하면 지금과 이후의 상태를 모두 처리할 수 있습니다.

ansible.builtin.systemd:
  name: nginx
  state: started
  enabled: true

systemd 데몬 다시 로드

새 유닛 파일을 추가한 후 daemon_reload: true로 설정하면 유닛에 작업을 수행하기 전에 systemd가 구성을 다시 읽습니다.

ansible.builtin.systemd:
  name: myapp
  daemon_reload: true

멱등성이 유지됩니다

실행 중인 서비스에 started를 요청하면 changed가 아니라 ok가 표시됩니다. 이 모듈은 작업을 수행하기 전에 현재 상태를 확인합니다.

루트 권한이 필요합니다

서비스를 제어하려면 권한이 필요하므로 become: true를 추가합니다. 이것이 없으면 systemd가 요청을 거부하고 작업이 실패합니다.

- name: Enable nginx
  become: true
  ansible.builtin.systemd:
    name: nginx
    enabled: true

service 모듈도 있습니다

일반적인 service 모듈은 여러 초기화 시스템에서 작동합니다. daemon_reload 같은 systemd 전용 옵션이 필요할 때는 systemd를 직접 사용합니다.

핸들러와 함께 사용하기 좋습니다

일반적인 패턴은 구성이 변경될 때만 서비스를 restart하는 것입니다. 나중에 배우게 될 핸들러가 변경될 때 이 재시작을 실행합니다.

빠른 확인

지금 nginx가 실행 중이고 모든 재부팅 후에도 실행 중이기를 원합니다.

복습

systemd 모듈은 서비스를 시작하고, 중지하고, 재시작하고, 활성화합니다. state는 지금을 의미하고 enabled는 부팅 시를 의미한다는 점을 기억하십시오. ⚙️

자주 묻는 질문

“systemd로 서비스 관리하기” 강의는 무료인가요?

네 — “systemd로 서비스 관리하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“systemd로 서비스 관리하기”에서 뭘 배우나요?

서비스를 시작하고 중지하며 활성화합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“systemd로 서비스 관리하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 모듈이 실제로 하는 일
  2. package 모듈로 패키지 설치하기
  3. systemd로 서비스 관리하기
  4. ansible-doc로 문서 읽기
← DevOps Bootcamp(으)로 돌아가기