Я использую Apache & mod_wsgi для развертывания приложения django на нескольких серверах. Я читал в нескольких местах (включая это: http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html) что лучше использовать режим демона wsgi. Это позволило бы мне контролировать количество процессов и количество потоков для каждого процесса, среди прочего :)
Теперь я могу иметь два или более экземпляра моего приложения django на одном сервере (со своими настройками, базами данных и т. Д.). Например:
http://team1-server/prod-instance
http://team1-server/test-instance
Хотя мне кажется, что я понимаю, как использовать другую конфигурацию «группа процессов» и «процесс демона» для нескольких виртуальных хостов, я не думаю, что мне нужно думать о том, что мне делать с несколькими «подкорнями».
РЕДАКТИРОВАТЬ:
Я бегу под CentOS 6.2 дистрибутивы. в /etc/httpd/conf.d/
каталог у меня есть .conf
файл для каждого экземпляра, который выглядит следующим образом:
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi
КОНЕЦ РЕДАКТИРОВАНИЯ.
Должен ли я использовать виртуальные хосты и иметь такие URL-адреса, как http://prod-instance.team1-server/
вместо? Это означало бы, что я должен полагаться на сетевых менеджеров для обновления таблиц DNS, что никогда не бывает достаточно быстрым для наших клиентов. :)
Должен признать, я часто теряюсь, когда дело касается конфигурации Apache. Ваша помощь приветствуется.
Спасибо!
О.
Предполагая, что вы не используете очень старую устаревшую версию mod_wsgi, вы можете сказать:
WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi process-group=prod-instance application-group=%{GLOBAL}
WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi process-group=test-instance application-group=%{GLOBAL}
Если вы используете очень старую устаревшую версию mod_wsgi, используйте вместо этого:
WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi
<Location /prod-instance>
WSGIProcessGroup prod-instance
WSGIApplicationGroup %{GLOBAL}
</Location>
WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi
<Location /test-instance>
WSGIProcessGroup test-instance
WSGIApplicationGroup %{GLOBAL}
</Location>