본문 바로가기
Linux

.Net/core - make service for auto-start when boot on Ubuntu

by 올엠 2020. 11. 12.
반응형

youtu.be/1akt--pYvfs

오늘은 Ubuntu 서버에 실행한 .Net/Core Application을 서비스로 등록해 상태를 관리하거나 서버 재시작시 자동으로 실행이 가능하도록 만들어 보자.

1. Prepare make Service

서비스를 만들기 전에 체크해야 하는 부분이 3가지가 있다.

1. Check to path of dotnet command
2. Check to path about application of dotnet
3. Test to running for user permission

.Net/Core를 실행할 때 필수로 필요한 요소가 위 3가지 이다.

먼저 dotnet command가 설치된 위치를 확인하자. 기본적으로 패키지 설치를 진행했다면, Ubuntu기준으로 /usr/bin/dotnet 이 기본 위치을 것이다.

그리고 현재 실행하고자 하는 .Net/Core Application의 위치와 실행 .dll의 위치를 확인하자.

마지막으로 유저인데, .Net/Core Application을 실행할 수 있는 권한을 부여한 유저라고 할 수 있다. 보통 chown -R 명령을 이용해서 특정 유저에게 권한을 부여할 수 있다.

현재 필자 기준으로는 다음과 같다.

 

- dotnet 위치: /usr/bin/dotnet

- application 위치: /home/jshan/test_web

- User: root

 

2. Make Service and enable auto-start when boot

서비스를 만들기 위해, Service 파일이 위치하는 /etc/systemd/system 위치에 service 파일을 생성하자.

$sudo vi /etc/systemd/system/testweb.service

몇가지 옵션을 더 넣어도 되지만, 기본적으로 위 옵션만 넣어도 동작에는 무리가 없다.

서비스 실행을 테스트해보기 위해서 Daemon을 다시 로드해야 한다.

$sudo systemctl daemon-reload
$sudo systemctl start testweb.service
$sudo systemctl status testweb.service

정상적으로 잘 동작하는 것을 확인하였으니, 재시작과 같은 시스템 부팅 시점에 자동으로 실행할 수 있도록 자동 실행을 활성화 하자.

$sudo systemctl enable testweb.service

반응형