Назад | Перейти на главную страницу

WSGIDaemonProcess для каждого экземпляра приложения

Я использую Apache & mod_wsgi для развертывания приложения django на нескольких серверах. Я читал в нескольких местах (включая это: http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html) что лучше использовать режим демона wsgi. Это позволило бы мне контролировать количество процессов и количество потоков для каждого процесса, среди прочего :)

Теперь я могу иметь два или более экземпляра моего приложения django на одном сервере (со своими настройками, базами данных и т. Д.). Например:

Хотя мне кажется, что я понимаю, как использовать другую конфигурацию «группа процессов» и «процесс демона» для нескольких виртуальных хостов, я не думаю, что мне нужно думать о том, что мне делать с несколькими «подкорнями».

РЕДАКТИРОВАТЬ:

Я бегу под 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>