본문 바로가기
OS/Ubuntu

Ubuntu Service 파일 만들기 (부팅시 자동 실행)

by Maker KSH 2023. 1. 11.
= Info 1
아래 코드는 Ubuntu Server 21.10, PuTTY 기준으로 작성되었습니다.
(운영체제 등에 따라 조금 다를 수도 있습니다.)
(만약 업데이트 등에 의해 코드가 다르다면 알려주세요!)

 

= Info 2
서버는 Vultr를 통해 VPS를 대여하고 있습니다.
Vultr 회원가입을 원하시는 분은 "여기"를 눌러 포스팅을 참고해주세요.

 

대부분의 Ubuntu Server에서 작동하는 프로그램들(Nginx, MySQL ...)이 systemctl을 통해 제어가 되는데, Flask나 uWSIG를 사용하는 경우, Service를 따로 제작할 필요가 있었습니다.

이번 시간에는 이 Service를 제작하는 방법에 대해 알아봅시다.

일단 PuTTY를 통해 Ubuntu Server에 접속한 후, 로그인까지 진행합니다.
(PuTTY 사용법의 경우 "여기"를 참고해주세요.)

다음으로 Service 파일을 제작해 줍시다.
([File Name]의 경우, 원하는 서비스의 이름으로 설정해주시면 됩니다. 단, 띄워쓰기가 있으면 안됩니다!)

편집기에 따라 방법이 다름으로 vi편접기와 nano 편집기 기준으로 설명드리겠습니다.


nano 편집기 사용시

더보기

명령어를 입력하여 nano 편집기를 실행하고, 파일을 생성합니다.

	sudo nano /etc/systemd/system/[File Name].service

 해당 파일을 다음과 같이 작성합니다.

[Unit]
Description=[설명]

[Service]
ExecStart=[명령]
Restart=on-failure
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
StandardError=syslog

[Install]
WantedBy=multi-user.target​

"[설명]"에는 서비스 설명을, "[명령]"에는 해당 Service에서 사용할 명령을 입력합니다.

 "컨트롤(Ctrl) + X"키를 누른후, 파일을 저장할 것인지 물어보는 창에서 "Y"를 눌려 저장해줍니다.

 


vi 편집기 사용시
(vi 편집기에 대해 조금 더 자세히 알고 싶다면 "여기"를 눌러주세요.)

더보기

명령어를 입력하여 vi 편집기를 실행하고, 파일을 생성합니다.

	sudo vi /etc/systemd/system/[FileName].service

" i "를 입력하여, 작성 모드를 시작하고 해당 파일을 다음과 같이 작성합니다.

[Unit]
Description=[설명]

[Service]
ExecStart=[명령]
Restart=on-failure
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
StandardError=syslog

[Install]
WantedBy=multi-user.target​

"[설명]"에는 서비스 설명을, "[명령]"에는 해당 Service에서 사용할 명령을 입력합니다.

"ESC"키를 누르고, ":wq"를 입력하여 파일을 저장하고 종료합니다.

 


여기까지 따라오셨다면, Service 파일 생성은 성공입니다.
이 Service가 "서버 시작(부팅)"때  자동으로 켜지게 하고 싶다면 심볼릭 링크를 추가해주시면 됩니다.
("[FileName]"의 경우, 아까전에 입력하였던 이름을 입력하시면 됩니다.)

sudo ln -s /etc/systemd/system/[FileName].service /etc/systemd/system/multi-user.target.wants/

이후 Service 제어는 "systemctl"을 이용하면 됩니다.

"systemctl" 이용법은 "여기"를 눌러 확인할 수 있습니다.

 

여기까지 따라와 주시고, 끝까지 봐주신 여러분들께 감사드립니다!

혹시 궁금한 점이나 사진과 틀린 점이 있으면 알려주세요! 수정하도록 하겠습니다!!

(가시기 전에 공감 한 번만 눌러주시면 저에게 큰 힘이 됩니다! 감사합니다!)

 

'OS > Ubuntu' 카테고리의 다른 글

systemctl 사용법  (0) 2023.01.06

댓글