목차
1. 개요
- CentOs에서 간단히 서비스 등록하는 법을 알아본다.
2. 등록하기
서버에 실행할 앱은 이미 업로드 했다고 가정,
먼저 서비스 파일(.service)을 만들어야 한다.
- DotNet5SocketServer.service (가명)
[Unit]
Description=just for run DotNet5SocketServer
[Service]
ExecStart=/home/admin/new/DotNet5SocketServer
WorkingDirectory=/home/admin/new
[Install]
WantedBy=multi-user.target
많은 옵션들이 있는데 정말 간단히 축약해서 만들었다. 간단히만 설명하면
[Unit]
Description : 서비스 파일의 설명이다.
[Service]
ExecStart : 실행할 파일의 경로
WorkingDirectory : 앱이 구동된 후 작업을 실행할 디렉토리, 특정 디렉토리에서 실행해야 하는 경우 필요
[Install]
WantedBy : run level을 설정하는 항목. 서버로 사용하는 경우 multi-user.target 이 적당하다. run level에 대해선 아래 링크 참고
*run level - https://www.lesstif.com/system-admin/linux-systemd-systemctl-run-level-target-98926803.html
이렇게 서비스 파일을 생성하고 서비스 파일을
/usr/lib/systemd/system - systemctl 서비스에 등록하기 위해서
/etc/systemd/system/{설정한 WantedBy의 Value}.wants - 서버 재시작 시 자동 실행을 위해서
각각의 경로에 넣어준다.
마지막으로
systemctl start {서비스이름} # 폴더에 존재하는 서비스를 실행시킨다.
systemctl status {서비스이름} # 현재 서비스가 제대로 동작중인지 확인
systemctl enable {서비스이름} # 서버가 시작 될 때마다(재부팅 될 때마다) 자동으로 서비스 시작
를 통해 설정을 마무리하면 끝!
3. 정리 및 소감
- 나름 대학생 때부터 리눅스를 사용했어서(노트북에 윈도우 지우고 우분투 깔아씀 ㅋㅋㅋㅋㅋ) 리눅스에 대해 안다고 생각했는데 서비스 등록 같은 부분은 경험을 많이 안해봐서 처음에 많이 헤맸었다..
아직도 서비스 파일 설정 항목들에 대해 자세히는 알지 못하니 좀 더 공부해야겠다..