반응형
잡설
백엔드 서비스를 만들때, 개발 혹은 운영 서버에 직접 배포하게 될 경우 있다.
물리 서버든, 클라우드 서버든 대체로 OS는 linux 일텐데, 개발중인 백엔드 서비스가 Srping 이라서 Java 설치하고 빌드된 백엔드 서비스가 문제없이 실행 되는지 테스트를 해봤다.
java -jar ....
음... 잘 된다. 근데 서비스 리빌드하거나 하면 서비스를 재시작해야하는데...매번 PID를 찾아서 kill 하고 다시 java -jar...
를 한번에 하는 스크립트를 작성해서 사용해도 된다..!
근데 전 회사 팀장님이 시스템에 서비스를 등록해달란다...그게뭔데...어떻게 하는건데...
찾아보니까 /etc/systemd/system/
경로에 xxx.service
파일을 생성해서 내용을 작성해주고 등록해주면 된다고 한다.
그럼...바로하기 좀 겁나니까 (쫄?) ...테스트로 사용할 스크립트 파일을 작성하고 서비스를 등록해보자.
code
1. Test Script 파일 작성
- 테스트로 사용할 스크립트를 간단하게 작성.. 계속 뭔가 흔적을 남겨줘야하니까 while문으로 반복해보자.
#!/bin/bash
echo -e "Start Systemd Test" | logger -t Testsystemd
while:
do
echo -e "Running systemd test"
sleep 30
done
2. Systemd Service 등록
- /etc/systemd/system/test-service.service 파일 작성해보자.
[Unit]
Description=Systemd Test Daemon
[Service]
Type=simple
User=centos
Group=centos
WorkingDirectory=/home/centos
ExecStart=test-daemon.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 서비스 파일을 만들었으면 진짜 서비스를 등록해주도록 하자
- 아래 명령어를 입력하면 위에서 작성한 서비스가 등록되서
systemctl
명령어를 또는service
명령어를 사용해서start/stop/restart
가 가능해진다.
sudo systemctl daemon-reload
Service 명령어
- 시작
$ systemctl start test-service
- 시스템 재부팅 후에도 서비스가 시작되도록 등록
$ systemctl enable test-service
- 정지
$ systemctl stop test-service
반응형
'OS > Linux' 카테고리의 다른 글
[Cent OS] bash: clear: command not found (2) | 2023.11.29 |
---|