Django + Apache + mod_wsgi: wsgi 스크립트가 여러 번 실행되는 이유는 무엇입니까?

Django + Apache + mod_wsgi: wsgi 스크립트가 여러 번 실행되는 이유는 무엇입니까?

저는 모든 서버 기술에 비교적 익숙하지 않으며 이 튜토리얼에 따라 mod_wsgi를 사용하여 Apache 웹 서버에 django 앱을 배포했습니다.

http://thecodeship.com/deployment/deploy-django-apache-virtualenv-and-mod_wsgi/

내 가상 호스트 파일은 다음과 같습니다.

<VirtualHost *:80>
        ServerName www.abcxyz.org
        ServerAlias abcxyz.org
        WSGIScriptAlias / /var/www/abcxyz/django/abcxyz/wsgi_prod.py
        Alias /static/ /var/www/abcxyz/static/
        <Location "/static/">
            Options -Indexes
        </Location>
</VirtualHost>

내가 이해하는 바에 따르면 wsgi_prod.py파일은 서버가 시작될 때(또는 첫 번째 요청을 받을 때 - 이에 대해 특별히 확신할 수 없음) 한 번만 실행되어야 합니다. 하지만 내 응용 프로그램에서는 서버에 요청을 보낼 때 여러 번 실행됩니다.

모든 요청에 ​​대해 실행되는 것이 아니라 일부 요청에 대해 실행됩니다. 그리고 wsgi_prod.py가끔 실행을 실행하는 요청도 있습니다 .

이것은 내 wsgi_prod.py 파일입니다.

import os
import sys
import site
import thread


# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('/etc/Envs/abcxyz/local/lib/python2.7/site-packages')

# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/abcxyz/django')
sys.path.append('/var/www/abcxyz/django/abcxyz')


os.environ['DJANGO_SETTINGS_MODULE'] = 'abcxyz.settings.production'

# Activate your virtual env
activate_env=os.path.expanduser("/etc/Envs/abcxyz/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))


print "WSGI RUN!!!"

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

내 경우에 무엇이 잘못되었는지, 어디에서 오류 검색을 시작할 수 있는지 아는 사람이 있나요?

답변1

프로세스당 한 번씩 로드됩니다.

다중 프로세스 구성을 사용하고 있을 가능성이 높으며 후속 요청이 다른 프로세스에 의해 처리되거나 프로세스가 재활용되고 있습니다. 디버그에서 프로세스 ID를 인쇄합니다. 또한 읽어보세요:

그리고 시청하세요:

관련 정보