supervisor 는 실행된 프로세스를 관리해주는 일종의 매니저 패키지 입니다.
node.js 에는 대표적으로 pm2가 있는데 그와 비슷하다고 보시면 됩니다.
프로세스가 예기치 못하게 종료될 시에, 자동 재실행 및 설정 후 자동실행 등 설정이 가능합니다.
sudo apt-get update
sudo apt-get install -y supervisor
apt 패키지 명령어로 supervisor 패키지를 설치해주도록 합니다.
sudo nano /etc/supervisor/conf.d/ProjectName.conf
관리할 프로세스에 대한 정의를 해줄 성정파일을 생성해줍니다.
[program:ExampleTest]
command = /bin/sh ExampleTest.sh # 수행할 명령어
directory = /home/ubuntu/ExampleTest # 루트가 될 Dir
user = ubuntu # 수행할 User
autostart = true # 자동 실행
autorestart = true # 프로세스 꺼질 시 자동 재실행
stdout_logfile={로그를 저장할 경로}/{로그파일이름} #출력로그 정의
sterr_logfile={로그를 저장할 경로}/{로그파일이름} #에러로그 정의
위와 같이, 적절하게 설정해주도록 합니다.
* 포트변경
sudo nano /etc/supervisor/supervisord.conf
[inet_http_server]
port=0.0.0.0:9001
username=유저ID
password=유저PWD
포트 변경을 원하실 경우, 위의 설정파일의 맨아래에 [inet_http_server] 항목을 추가 및 설정해주시면 됩니다.
// 설정 파일 갱신
sudo supervisorctl reread
// 해당 프로젝트 시작
sudo supervisorctl start 프로젝트명
설정된
http://IP:PORT 로 접속하시면,
위와 같이 정상적으로 관리 실행 되고 있음을 확인할 수 있습니다.
[Ubuntu 18.04] GoLang Application 을 Service로 등록하기 (0) | 2022.10.21 |
---|---|
[Ubuntu 18.04] GitLab 제거 (0) | 2022.10.06 |
[Ubuntu 18.04] GitLab 설치 (0) | 2022.09.30 |
[Jenkins] 젠킨스 GitLab연동을 통한 Job등록 및 Setting (1) | 2022.09.22 |
[CentOS 7] Jenkins 설치 (0) | 2022.09.22 |