systemctl과 데몬
1. systemctl
- 서비스 or 데몬 관리 명령어
- 특정 프로세스가 백그라운드에서 계속 실행될 수 있고 이를 보통 데몬 or 서비스라고 부름
- 이 서비스를 켜고 끄거나 상태를 보고 관리하는 명령어가 systemctl
- nginx는 설치 후, 서비스로 등록되기 때문에 systemctl로 관리가 가능
- sudo systemctl start nginx : nginx 가동
- sudo systemctl stop nginx : nginx 종료
- sudo systemctl status nginx : nginx 상태 보기
- sudo systemctl restart nginx : nginx 재시작 (보통 서버가 나가거나, 설정을 바꾸고 나면 사용)
2. 데몬 등록파일 작성
- 데몬을 systemctl에 의해 관리받게 하려면 데몬등록을 먼저 해야 함
- 데몬을 등록하는 위치는 아래 둘중 하나에 등록
- /etc/systemd/system
- /usr/lib/systemd/system
- 데몬을 등록하기 위해서는 데몬 정보를 입력해야 하는데 아래와 같이 입력
[Unit]
Description=데몬 설명
[Service]
ExecStart=데몬이 시작할 때 실행되는 쉘
[Install]
WantedBy=데몬이 실행되어야 하는 구간. (ex: 부팅 후, 네트워크 활성 후 등..)
3.서비스(데몬) unit파일 작성
- 서비스(데몬) Unit 파일을 작성해 systemctl의 관리를 받게 함
- vim /usr/lib/systemd/system/my-logger.service에 들어가서 다음과 같이 작성함
[Unit]
Description=My Logger
[Service]
ExecStart=/home/user1/mybin/test.sh
[Install]
WantedBy=multi-user.target