- 서비스 파일 생성
sudo nano /etc/systemd/system/mainpy.service
- 서비스 파일 내용 작성:
[Unit]
Description=Run main.py at startup
After=network.target
[Service]
ExecStart=/usr/bin/python3 -u /home/ubuntu/main.py
WorkingDirectory=/home/ubuntu
Restart=always
StandardOutput=file:/home/ubuntu/main.log
StandardError=file:/home/ubuntu/main.err
User=ubuntu
[Install]
WantedBy=multi-user.target
Ctrl+O 눌렀다가 엔터 눌러서 저장하고
Ctrl+X 눌러서 나가자
- 서비스 리로드
sudo systemctl daemon-reload //서비스 리로드
sudo systemctl start mainpy.service // 서비스 시작
sudo systemctl enable mainpy.service //서비스 활성화(재부팅 시 자동 실행):
sudo systemctl status mainpy.service // 서비스 상태확인
- 서비스 확인
sudo reboot
cat /home/ubuntu/main.log //실행됐는지 로그 확인
sudo systemctl status mainpy.service //서비스 상태확인
- 가상 환경을 쓴 경우...
sudo nano /etc/systemd/system/mainpy.service
[Unit]
Description=Run main.py at startup
After=network.target
[Service]
ExecStart=/home/ubuntu/myenv/bin/python /home/ubuntu/main.py
WorkingDirectory=/home/ubuntu
Restart=always
StandardOutput=append:/home/ubuntu/main.log
StandardError=append:/home/ubuntu/main.err
User=ubuntu
Environment=PATH=/home/ubuntu/myenv/bin:/usr/bin:/bin
Environment=VIRTUAL_ENV=/home/ubuntu/myenv
[Install]
WantedBy=multi-user.target
chmod +x /home/ubuntu/main.py
sudo systemctl daemon-reload
sudo systemctl enable mainpy.service
sudo systemctl start mainpy.service
sudo systemctl status mainpy.service
4.로그 확인
cat /home/ubuntu/main.log
cat /home/ubuntu/main.err
6.서비스 중지관련