[Linux] systemd 서비스 등록

최지나·2023년 9월 19일
2

CS

목록 보기
53/55
post-thumbnail

서비스 파일 생성

-.service 확장자를 가진 파일 생성 후 /etc/systemd/system 경로에 소프트링크로 등록하면 systemctl 명령어로 해당 서비스를 제어할 수 있다.

  • .service 파일은 크게 [Unit], [Service], [Install] 3가지 섹션으로 구성된다.
  • 주의 서비스 파일 수정 시, sudo systemctl daemon-reload 명령어를 통해 변경 사항을 반영해주어야 한다.
  • service 파일 세부 configuration 참조

서비스 파일 예시 http.service

[Unit]
Description=Apache HTTP Server   # 서비스의 설명 제공
After=network.target  # 서비스의 의존성. http service는 network.target 이후에 실행되어야 한다

[Service]
Type=forking  # 서비스의 실행 유형. forking = 백그라운드 실행 서비스
ExecStart=/usr/sbin/httpd -k start  # 서비스 시작 명령어
ExecReload=/usr/sbin/httpd -k restart   # 서비스 재시작 명령어
ExecStop=/usr/sbin/httpd -k stop  # 서비스 중지 명령어
PrivateTmp=true   # 서비스 임시 디렉토리

[Install]
WantedBy=multi-user.target   # 서비스 타겟. multi-user.target = 다중 사용자 모드

소프트 링크 생성

  • service 파일을 바로 /etc/systemd/system위치에 생성해도 되지만, 다른 경로에 생성 후, 소프트링크를 걸어 줄 수 있다

  • 소프트 링크 생성 시 시스템 부팅 시 서비스들이 자동으로 시작되게 설정할 수 있다

  • 소프트링크 생성

ln -s [.service 파일의 경로] [systemd/system 경로]


  • 명령어로 소프트 링크 생성
systemctl enable [서비스 이름]
  • 서비스 비활성화
systemctl disable [서비스 이름]

서비스 실행

  • 실행(서비스가 즉시 시작)
systemctl start [서비스 이름]
  • 중지
systemctl stop [서비스 이름]
  • 서비스 상태 확인
systemctl status [서비스 이름]

  • 서비스 로그 조회
journalctl -u [서비스 이름]
profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글