감독자 소켓 오류 문제 [종료 됨]


99
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

프로덕션 시스템에서 감독자를 구성하려고하는데이 오류가 발생합니다. 감독자 로그 파일이 비어 있습니다.

를 입력 supervisorctl하면 다음과 같이 불평합니다.

http://localhost:9001 refused connection

현재 포트 9001에서 수신중인 항목이 lsof | grep TCP없습니다. AFACT : 아무것도 반환하지 않습니다.

답변:


172

supervisorctl을 사용하려면 먼저 supervisord를 시작해야합니다. 나의 경우에는:

sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf

2
당신이해야하지 것으로 sudo는 supervisorctl, 나는 나에게 그 문제 해결에 포기하는 원인이 권한 문제로 실행하지만
kelorek

1
나는 kelorek과 동일하게 발행했지만 위의 명령이 나에게 작동하지 않았습니다.
Charlesliam

Enter 키를 누르면 무엇이 반환됩니까?
kelorek


훌륭한 남자, 나는 내 상사가 나이를 먹어 가게했다!
Jaimin

37

다음과 같이 사용자 지정 경로로 감독을 시작한 경우 :

sudo supervisord -c /mypath/supervisord.conf

그런 다음 다음과 같이 동일한 매개 변수로 supervisorctl을 시작해야합니다.

sudo supervisorctl -c /mypath/supervisord.conf

2
이 날 정말 도움이
저스틴 M. 우카에게

12

상대 URL로 supervisor를 시작한 -c다음 다른 디렉토리에서 supervisorctl을 실행 하면이 문제가 발생할 수 있습니다 .

예를 들면 :

supervisord -c supervisord.conf
supervisorctl start someapp ## works 
cd somedirectory
supervisorctl restart someapp ## http://localhost:9001 refused connection

해결책은 항상 절대 경로를 사용하는 것입니다. 예 :

좋은:

supervisord -c /etc/supervisor/supervisord.conf

나쁜:

supervisord -c supervisord.conf

5

이 문제는 오래된 supervisord.conf파일 버전을 사용할 때도 발생합니다 . 최신 버전의 감독자는 다른 구성 파일을 사용합니다. 위의 솔루션은 작동하지 않습니다. 이 경우 다음을 사용하여 구성 파일을 재생성하면됩니다.

echo_supervisord_conf > /etc/supervisord.conf

누군가에게 도움이되기를 바랍니다.


3

다음을 수행하십시오.

sudo service supervisor start

모든 것이 정상인 게시물 b4-1b 버전에 문제가 있습니다.

sudo supervisorctl reload


2

배포 패키지가있는 Ubuntu 18.04

/etc/supervisord.conf내 서비스 관리자 ( systemd )가 구성 파일을 사용하는 동안 구성 파일 을 만든 것과 같은 실수를했을 것입니다./etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

또는

sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf

당신이 그것을 유지하고 싶다면

이제 실행할 수 있습니다. sudo supervisorctl


왜?

supervisorctl처음 실행할 때에 있는 구성 파일 /etc/supervisord.conf을 검색합니다.없는 경우 패키지의 기본 파일을 검색합니다. /etc/supervisor/supervisord.conf이 파일 은 실제로 systemd 가 실행 하는 파일 입니다.

Systemd/etc/supervisor/supervisord.conf 는 다른 파일의 존재 여부에 관계없이 항상 파일을 사용합니다 .

다음 을 실행 하여 systemd 를 사용중인 파일을 확인할 수 있습니다.sudo systemctl status supervisor

여기에 이미지 설명 입력 마지막 줄에서 구성 파일이 하드 코딩 된 명령을 볼 수 있습니다.


-1

모두 supervisordsupervisorctl사용 -c절대 설정 파일 경로가 있는지 확인 두 명령은 동일한 설정으로 시동.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.