Рекомендуемый способ настройки конфигурации Django Fast CGI с несколькими доменами - PullRequest
2 голосов
/ 20 января 2011

Я создаю проект Django, который будет использоваться несколькими доменами, и функциональность будет немного отличаться в зависимости от домена. Я ищу совет о том, как правильно это настроить.

The Фреймворк sites выглядит так, как будто он подойдет для выполнения некоторых настроек, когда обработка достигнет точки выполнения кода Django. Но я пытаюсь определить, какой должна быть установка, прежде чем мы достигнем этой точки (в отношении nginx, flup, fastcgi, config).

Вот мое текущее понимание:

Кажется, что подходит несколько файлов настроек Django, каждый с разным SITE_ID. Затем в конфигурации nginx будут установлены два виртуальных хоста, которые будут указывать на два разных сокета. Затем для прослушивания этих двух разных сокетов будут использоваться два процесса manage.py runfastcgi, и каждый процесс будет ссылаться на разные параметры .py

./manage.py --settings=settings.site1.py runfcgi method=prefork socket=/home/user/mysite1.sock pidfile=django1.pid
./manage.py --settings=settings.site2.py runfcgi method=prefork socket=/home/user/mysite2.sock pidfile=django2.pid

Однако, кажется, что это может стать грязным, если вы добавите больше доменов. Для каждого домена, который будет добавлен, потребуется запустить новый процесс «управлять runfastcgi». Есть ли способ поддержки нескольких сайтов таким образом без запуска отдельного процесса для каждого?

Каков ваш опыт хостинга нескольких доменов с Django?

Любой совет очень ценится. Спасибо за чтение.

Джо

1 Ответ

2 голосов
/ 23 февраля 2011

Если у вас будет много запущенных доменов, один процесс на домен может быть довольно дорогим.Каркас сайтов изначально создавался с учетом другого варианта использования: возможность легко создавать «дублированный» контент на нескольких новостных сайтах.Когда вы пытаетесь использовать каркас сайтов для других целей, вы сталкиваетесь с несколькими трудностями.

Одна из возможностей - перенести обработку домена на промежуточное ПО и заставить django обрабатывать многодоменную часть.Это не тривиально, особенно, если вам нужно настроить приложения, чтобы они были осведомлены о домене, а также urlconfs, шаблоны и т. Д. ... Быстрый поиск в Google показал:помощь в качестве отправной точки.

...