Я относительно новичок во всех серверных технологиях, и я выполнил это руководство, чтобы развернуть свое приложение 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()
Кто-нибудь знает, что могло пойти не так в моем случае и где я мог бы начать поиск ошибки?
Он будет загружаться один раз для каждого процесса.
Вероятно, вы используете многопроцессорную конфигурацию, и последующие запросы обрабатываются другим процессом и / или процессы повторно используются. Распечатайте идентификатор процесса в отладке. Также прочтите:
и смотри: