Service 등록을 한다면, 리눅스가 재부팅(reboot)되었을때, 자동으로 start를 해준다.
또한 stop, restart등 어플리케이션을 관리할수있다.
1. Service파일 만들기( .service파일)
2. Service파일 등록
3. Service관련 명령어
1. Service파일 만들기( .service파일)
1) [Unit] Description= 해당 서비스에 대한 상세한 설명
2) [Unit] After=해당 서비스의 시작된 이후 나열된 서비스를 실행한다.
( After=network.target 의 경우 서버를 제공한다면 사용)
3) [Service] Type=[simple|forking|oneshot|notify|dbus] 서비스 타입을 선언한다.
simple (기본값) - 서비스가 시작된 경우 즉시 systemd는 서비스의 시작이 완료되었다고 판단한다.
4) [Service] ExecStart= 실행할 스크립트 및 명령어 선언한다.
실행 명령어는 반드시 절대 경로 또는 변수(${STRINGS} 따위) 로 시작해야 한다. 다중 명령어를 지원한다.
(ex) ExecStart="commnad 1; command 2; command 3” 또는
5) [Service] Restart=[no|on-success|on-failure|on-watchdog|on-abort|always] 서비스가 죽었을때나 혹은 응답이 없는 경우 재시작한다.
no (기본값) - 유닛을 다시 시작하지 않는다.
on-abort - 지정되지 않은 리턴값을 받은 경우 재시작을 한다.
6) [Install] WantedBy=서비스를 등록할때, 등록에 필요한 서비스를 지정한다.
2. Service파일 등록
root권한으로 systemd(system daemon) 을 관리하는 systemctl 명령어를 사용한다.
$ sudo systemctl stop my_server.service >/dev/null 2>&1
#서비스가 이미 등록되어있다면, 중지하되 출력은 하지않음
$ sudo cp my_server.service /etc/systemd/system/ #서비스파일을 /etc/systemd/system으로 copy
$ sudo chmod 755 /etc/systemd/system/my_server.service #service 파일에 실행권한 부여
$ sudo systemctl daemon-reload #systemctl 데몬 재 실행
$ sudo systemctl enable my_server.service #서비스 자동실행 등록(enable)
$ sudo systemctl start my_server.service #서비스 시작
$ sudo systemctl status my_server.service #서비스 상태확인
3. Service 관련 명령어
systemctl | 설명 |
systemctl start name.service | 서비스 시작 |
systemctl stop name.service | 서비스 중지 |
systemctl restart name.service | 서비스 재시작 |
systemctl reload name.service | 서비스 설정 재구동 |
systemctl status name.service | 서비스 상태확인 |
'개발 > Linux' 카테고리의 다른 글
[CentOS7] Let's Encrypt SSL 인증서 발급 및 적용(tomcat) (0) | 2021.01.21 |
---|---|
[Linux/Ubuntu] openssl 설치(+wget 사용) (0) | 2021.01.07 |
[Linux/Ubuntu] su : Authentication failure (0) | 2021.01.06 |
[Linux/Ubuntu] 최근 파일 N개를 제외한 파일 전부 삭제 (0) | 2021.01.04 |
[ubuntu 16.04] mongod service 등록 (2) | 2020.01.17 |