개요

파이썬 개발을 시작하며 회사에 적용되어 있는 supervisord를 간략하게 공부하고 내용을 정리한다.

간단한 개념을 얘기하면 supervisord는 프로세스를 daemon으로 위탁관리해주는 tool이다.

설치법

우분투 기준 설치는 아래와 같다.

$ sudo apt-get install supervisor

supervisord 기동 스크립트

우분투 기준 아래와 같다.

$ sudo service supervisor start
$ sudo service supervisor status

도움말

$ supervisorctl help

supervisor conf 재로드

$ supervisorctl reread

기본 문법

spv.conf는 보통 아래와 같이 구성된다.

[program:webhook]
command=/usr/bin/node /srv/http.js # 명령어
directory=/srv # 실행 디렉토리
autostart=yes
autorestart=yes
startretries=3 # Fail이 되기 전에 몇번이나 재기동할지
sterr_logfile=/var/log/webhook/webhook.err.log
stdout_logfile=/var/log/webhook/webhook.log
user=www-data # 실행 user
environment=SECRET_PASSWORD='this is secret',SECRET_TWO='another secret'

특정 프로그램 실행

위에서 정의한 webhook을 실행하여 보자.

$ supervisorctl start webhook

supervisor 실행 상태보기

$ supervisorctl status

process output tail

supervisorctl 진입후 실행

> tail -f webhook

추가 명령어

  • n은 no background process
  • edebug는 디버깅 모드
  • c는 conf 지정
    $ supervisord -n -edebug -c supervisord.conf

Web UI

http://localhost:23233/과 같이 웹 UI로도 볼 수 있음


참고자료