Django + Apache + mod_wsgi: Почему скрипт wsgi выполняется несколько раз?

Django + Apache + mod_wsgi: Почему скрипт wsgi выполняется несколько раз?

Я относительно новичок во всех серверных технологиях и следовал этому руководству, чтобы развернуть свое приложение Django на веб-сервере Apache, используя mod_wsgi:

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

Он будет загружаться один раз за процесс.

Вероятно, вы используете многопроцессную конфигурацию, и последующие запросы обрабатываются другим процессом и/или процессы перерабатываются. Распечатайте идентификатор процесса в отладке. Также прочитайте:

и смотри:

Связанный контент