리눅스 서비스 관리 방법 / systemctl 명령어 정리

서비스 파일 작성 방법

서비스 파일 생성

sudo vi /etc/systemd/system/서비스명.service

위와 같은 명령어로 서비스 파일을 생성할 수 있습니다.

스프링부트 프로젝트 실행 서비스 파일 예시

[Unit]
Description=프로젝트명 Application
After=network.target

[Service]
User=ncloud # 애플리케이션 실행 유저명
WorkingDirectory=/home/app/프로젝트명
ExecStart=/usr/bin/java실행파일경로 -Dspring.profiles.active=프로파일명 -jar /home/app/프로젝트명/프로젝트명.jar
SuccessExitStatus=143
Restart=always # 실패 시 항상 재시작

[Install]
WantedBy=multi-user.target

Java로 스프링부트 프로젝트 jar 파일을 실행하는 서비스 파일 예시입니다.


서비스 등록 방법

서비스 등록 및 수정 적용

sudo systemctl daemon-reload

systemd가 /etc/systemd/system 폴더 하위 서비스 파일들 변경사항을 인식하도록 새로고침 합니다.


서비스 사용 방법

서비스 상태 확인

systemctl status 서비스명

서비스 시작

systemctl start 서비스명

서비스 정지

systemctl stop 서비스명

서비스 재시작

systemctl restart 서비스명

서비스 자동시작 설정

자동 시작 여부 확인

systemctl is-enabled 서비스명

자동 시작 설정

systemctl enable 서비스명

enable 해두면 재부팅 시마다 수동으로 시작하지 않아도 됩니다.

자동 시작 해제

systemctl disable 서비스명