개발/Server

[Ubuntu] 서비스 관리

leebera_ 2021. 11. 26. 15:45

Ubuntu 20.04 LTS 사용

 

리눅스 서비스는 /etc/init.d/에 있는 스크립트로 시작, 중지, 재시작 가능

서비스 등록을 위해서 /etc/init.d/에 서비스 파일을 복사해야 함

서비스 등록에 update-rc.d를 사용

  • 서비스 등록
    update-rc.d 서비스이름 defaults   로 등록
    서비스가 등록되었는지   ls -l /etc/rc?.d/*서비스이름   입력해 확인해본다.
    대부분 정상적으로 등록되었다면 rc0 부터 rc6까지 모두 있을 것이고
    2 3 4 5에  S01서비스이름
    0 1 6에  K01서비스이름  으로 등록되어 있을 것이다.
    S 또는 K와 서비스이름 사이의 숫자는 달라도 상관없다.
  • 서비스 삭제
    update-rc.d -f 서비스이름 remove   로 삭제
    등록할 때와 같이 ls -l /etc/rc?.d/*서비스이름  으로 삭제되었는지 확인
  • 서비스가 재부팅 시 마다 자동으로 실행
    sudo systemctl enable 서비스이름   로 자동 실행 등록
    systemctl is-enabled 서비스이름   을 입력했을 때 enabled가 뜨면 재부팅 시 해당 서비스가 자동으로 실행 된다.
    만약 enable을 했을 때   contains no runlevels   가 포함된 문제가 발생한다면 링크 참고

각 runlevel 의미

  • 0
    시스템 종료
  • 1
    단일 사용자 모드
    시스템 복구 모드
  • 2
    다중 사용자 모드
    사용X
    NFS(Network File System)을 지원하지 않음
  • 3
    다중 사용자 모드
    CLI 모드
  • 4
    다중 사용자 모드
    사용X
    임의로 정의해서 사용 가능
  • 5
    다중 사용자 모드
    3과 비슷하지만 CLI가 아닌 GUI모드
  • 6
    시스템 재부팅

2 3 4 5 - start
0 1 6 - kill

 


 

참고

 

How-To: Managing services with update-rc.d

Linux services can be started, stopped and reloaded with the use of scripts stocked in /etc/init.d/.

www.debuntu.org