nginx와 gunicorn을 사용하여 두 대의 서버에서 웹 사이트를 호스팅했습니다.
두 서버 모두 동일한 버전의 패키지가 있으며 웹 사이트가 성공적으로 호스팅됩니다.
그러나 내 서버 중 하나에서 gunicorn은 항상 시간 초과되고 오류가 발생합니다.
[CRITICAL]Worker Timeout
Booting worker with pid
Worker cannot boot with pid
그리고이 후에 웹 페이지에 502 Badgateway 오류가 발생합니다. 웹 사이트를 열려면 gunicorn 프로세스를 다시 시작해야합니다.
다음은 오류 로그입니다.
2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994)
2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994)
2014-02-16 14:29:53 [22140] [INFO] Booting worker with pid: 22140
그리고 나는 이와 같은 연속 오류를 얻습니다.
2014-02-16 14:29:53 [22140] [DEBUG] Ignoring EPIPE
Ignoring EPIPE
2014-02-16 14:29:53 [22140] [DEBUG] Ignoring EPIPE
Ignoring EPIPE
2014-02-16 14:29:57 [22140] [DEBUG] Ignoring EPIPE
Ignoring EPIPE
그리고 노동자는 다시 시작합니다
2014-02-16 14:32:44 [1267] [CRITICAL] WORKER TIMEOUT (pid:4993)
2014-02-16 14:32:44 [1267] [CRITICAL] WORKER TIMEOUT (pid:4993)
2014-02-16 14:32:44 [22276] [INFO] Booting worker with pid: 22276
다시 EPIPE 오류를 무시하면 gunicorn을 다시 시작할 때까지 계속됩니다. 그리고이 오류가 발생하면 nginx에서 504 게이트웨이 오류가 발생합니다.
strace -p <PID> -e trace=network -t