우분투 파이썬 사용자 서비스 거니콘 (Ubuntu Python User Service with gunicorn)
설정
유저 서비스
$ vim ~/.config/systemd/user/{name}.service
[Unit]
Description={Name}
After=network.target
[Service]
WorkingDirectory=/home/{user}/apps/{name}/
ExecStart=/home/{user}/apps/{name}/.venv/bin/gunicorn --workers {N} --bind 0.0.0.0:{port} {module}:{app_var}
EnvironmentFile=/home/{user}/apps/{name}/.env
[Install]
WantedBy=default.target
터미널 종료시에도 서비스 유지
$ sudo loginctl enable-linger $USER
제어
로드
$ sytemctl --user daemon-reload
시작
$ sytemctl --user start {name}.service
상태
$ sytemctl --user status {name}.service
정지
$ sytemctl --user start {name}.service
부팅시 자동 시작
$ sytemctl --user enable {name}.service
시작 실패한 서비스 제거
systemctl --user reset-failed