2011-03-25 6 views
1

두 개의 평행 장고 앱을 실행하는 데 uWSGI 및 nginx를 사용하고 있습니다. 그 중 하나, 좀 더 부하를 가진 하나 (둘 다 매우 작은) 다음과 같은 메시지가 약 24 시간마다 한 번씩 죽어 유지 :Django, uWSGI & nginx : "이유없이"프로세스가 작동하지 않습니다.

[pid: 16358|app: 0|req: 1000/1000] 127.0.0.1() {46 vars in 847 bytes} [Thu Mar 24 16:38:31 2011] GET /aktivitet/409/picknick/ => generated 18404 bytes in 117 msecs (HTTP/1.0 200) 3 headers in 156 bytes (1 switches on core 0) ...The work of process 16358 is done. Seeya!

나는 다음과 같은 설정으로 관리자를 사용하여 processess 시작하고 있습니다 :

[program:uttrakad] command=/home/myuser/webapps/uwsgi_test/bin/uwsgi -s /home/myuser/webapps/uwsgi_test/app1.sock -C /home/myuser/webapps/django/app1.wsgi --processes 1 --harakiri 120 --max-requests 1000 autostart=true autorestart=true stdout_logfile=/home/myuser/logs/user/uwsgi_app1.log redirect_stderr=true stopsignal=QUIT

.wsgi 파일은 간단하다 :

import os import sys sys.path =['/home/openworks/webapps/django/lib/python2.6/','/home/openworks/webapps/django/','/home/openworks/webapps/django/app1/'] + sys.path from django.core.handlers.wsgi import WSGIHandler os.environ['DJANGO_SETTINGS_MODULE'] = 'app1.prod_settings' application = WSGIHandler()

,

의 nginx 2 개 작업자 프로세스 2048 worker_connections로 설정하고 다음과 같이 : location/{ uwsgi_pass unix:///home/openworks/webapps/uwsgi_test/app1.sock; include uwsgi_params; }

내가 말했듯이, 또 하나의 애플 리케이션으로 끊김없이 실행 된 동일한 방식으로 구성이 있지만, 거의 트래픽이 없습니다 .

실마리가 있습니까? 왜 내가 "... 프로세스 16358의 작업이 완료됩니다."Seeya "messsage?

감사합니다.

+0

나는 thiniking ...입니다 --max-requests 1000 원인이 있지만 작업자 respawn 실패? –

답변

4

찾는 웹 사이트, 데이터베이스, 터널을 모니터하고 다시 시작 MONIT를 사용 1,000분의 1,000

을 그리고 당신은 상한값 요청의 수가 1000을 설정했습니다.

슈퍼 바이저에서도 umsgi에 항상 --master/-M을 추가해야합니다. 이렇게하면 소켓을 잃지 않고 (다시 시작하는 동안 클라이언트에 오류를 내지 않고) 앱을 다시 시작할 수 있습니다.

+0

감사합니다. -M을 사용합니다! 그로 인해 두 가지 과정이 생기지 만, 그런 일이 일어날 것으로 생각됩니다. –

0

이렇게 보입니다. REQ : 우리는 등 로그에서

관련 문제