[Linux] 데몬(systemd service) 작성 및 실행하기
- 03-14
- 65,161 회
- 0 건
FastAPI 로 작성한 코드를 실행하기 위해 uvicorn 을 서비스로 실행하는 방법입니다.
uvicorn 에서 --reload 은 실제 서비스 환경에서는 제거하시면 됩니다.
[code]
# 관리자 권한으로 변경
sudo su
# 파일 생성
echo '[Unit]' > /etc/systemd/system/livegpt.service
echo 'Description=LiveGPT' >> /etc/systemd/system/livegpt.service
echo 'After=network.target' >> /etc/systemd/system/livegpt.service
echo '' >> /etc/systemd/system/livegpt.service
echo '[Service]' >> /etc/systemd/system/livegpt.service
echo 'User=username' >> /etc/systemd/system/livegpt.service
echo 'Group=groupname' >> /etc/systemd/system/livegpt.service
echo 'WorkingDirectory=/home/ubuntu/liveGPT' >> /etc/systemd/system/livegpt.service
echo 'ExecStart=/usr/bin/uvicorn main:app --reload' >> /etc/systemd/system/livegpt.service
echo 'Restart=always' >> /etc/systemd/system/livegpt.service
echo '' >> /etc/systemd/system/livegpt.service
echo '[Install]' >> /etc/systemd/system/livegpt.service
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/livegpt.service
# 데몬 등록
sudo systemctl daemon-reload
sudo systemctl enable livegpt
sudo systemctl start livegpt
[/code]