Supervisor
Supervisor는 Python으로 작성된 프로세스 제어 시스템으로, UNIX 기반 시스템에서 프로세스를 쉽게 관리할 수 있도록 설계되었다.
이를 통해 프로세스를 시작, 중지, 재시작할 수 있으며, 프로세스의 상태를 모니터링할 수 있다.
Supervisor를 사용을 위해서는 python 2.7이상 또는 python3.4 이상이 필요하다.
• 테스트 환경
Ubuntu 22.04 LTS, Python 3.10.12
1. Python 설치
apt update apt install python3 python3-pip python3 --version <Python 버전 확인>
2. Supervisor 설치
Supervisor가 설치되고 기본 설정 파일이 /etc/supervisor/supervisord.conf에 생성된다.
apt install supervisor
3. Supervisor 설정
vi /etc/supervisor/supervisord.conf
설정 파일에 [inet_http_server]와 [supervisorctl]을 추가하여 웹 인터페이스를 설정하고 관리할 프로그램(apache, mysql)을 추가
설정과 관련된 내용은 공식 사이트에서 확인할 수 있다.
http://supervisord.org/configuration.html
[inet_http_server] port = 127.0.0.1:9001 ; HTTP 서버의 IP와 포트를 설정 [supervisorctl] serverurl=http://127.0.0.1:9001 ; Supervisor의 웹 서버 URL을 설정 [program:mysqld] command=/usr/sbin/mysqld autostart=true autorestart=true stderr_logfile=/var/log/mysql/mysqld.err.log stdout_logfile=/var/log/mysql/mysqld.out.log [program:apache2] command=/usr/sbin/apache2ctl -D FOREGROUND autostart=true autorestart=true stderr_logfile=/var/log/apache2/apache2.err.log stdout_logfile=/var/log/apache2/apache2.out.log
4. Supervisor 재시작 및 설정 적용
supervisorctl reread supervisorctl update supervisorctl restart apache2 supervisorctl restart mysqld
5. Supervisor의 웹 서버에 접속하여 작동 확인
http://127.0.0.1:9001