python 서버를 systemctl로 등록해서 사용하기

가연우·2023년 9월 12일
0

ubuntu

목록 보기
1/1

이론적인 설명 없이 서비스를 등록하고 사용하는 방법만 설명되어 있습니다.

  • python 서버를 동작할 곳에서 터미널 오픈(본인은 raspberry pi ubuntu에서 실행)



service 등록

sudo vim /etc/systemd/system/[서비스이름].service

내용 작성

  • ExecStart에 파일을 넣을 때는 반드시 모든 경로를 정확하게 적어야합니다
[Unit]
Description=[설명]
After=multi-user.target
 
[Service]
Type=idle
ExecStart=[실행할 파일의 위치]

 
[Install]
WantedBy=multi-user.target

권한 부여

sudo chmod 644 /etc/systemd/system/[서비스이름].service

서비스 등록 후 reboot

sudo systemctl daemon-reload
sudo systemctl enable [서비스이름].service
sudo reboot

서비스 동작 확인

  • 성공하면 아래 사진과 같이 로그가 보여짐
systemctl status [서비스이름]


서버 로그 확인

  • 이때 로그는 python 서버에서 나오는 로그로 logging으로 작성한 것만 확인 가능합니다
journalctl -xefu [서비스이름]

본인은 위와 같이 설명을 적어놓은 설명글을 봐도 헷갈릴 때가 있어 예시를 적용해 다시 한번 설명드리겠습니다.

service 등록

sudo vim /etc/systemd/system/robotRun.service

내용 작성

  • ExecStart에 파일을 넣을 때는 반드시 모든 경로를 정확하게 적어야합니다
[Unit]
Description=Robot run python server
After=multi-user.target
 
[Service]
Type=idle
ExecStart=/home/robot1/workspace/scripts/start.sh

 
[Install]
WantedBy=multi-user.target

권한 부여

sudo chmod 644 /etc/systemd/system/robotRun.service

서비스 등록 후 reboot

sudo systemctl daemon-reload
sudo systemctl enable robotRun.service
sudo reboot

서비스 동작 확인

systemctl status robotRun

서버 로그 확인

journalctl -xefu robotRun
profile
헐 제가 회사를 다니면서 개발을 하고 있어요 이게 무슨 일이죠?

0개의 댓글