Как сохранить несколько проектов Django в качестве виртуальных хостов Cherokee на основе портов?
Можно ли поддерживать несколько проектов Django (на самом деле FastCGI/SCGI) на одном IP-адресе и различать их по порту?
Мне очень нравится чероки. Его интерфейс администратора и простота настройки, которую он приносит, просто потрясающие. Поэтому мне немного грустно из-за отсутствия (по крайней мере очевидным, явным образом) виртуальных хостов на основе портов.
Пожалуйста, имейте в виду, отвечая:
Подбирайте виртуальные серверы по портам - я это читал.
Не советуйте другим веб-серверам - я знаю, что могу использовать их для этой цели, но я пытаюсь лучше изучить чероки.
Большое спасибо.
1 ответ
Да, это возможно.
Во-первых, вам нужно настроить Cherokee для прослушивания нужных портов:
В разделе "Общие" -> "Ports to Listen" добавьте порт и оставьте поле IP пустым (для всех IP-адресов).
Затем для каждого размещаемого приложения создайте виртуальный хост.
Для каждого виртуального хоста убедитесь, что во всех правилах поведения есть правило "И" (на вкладке "Правила"), для которого "Входящий порт /IP" установлен на нужный порт, который вы ранее настроили.
Тогда обработчики для каждого правила будут вызываться только в том случае, если входящий порт совпадает именно так, как вы хотите.
При тестировании этого на моей собственной конфигурации я столкнулся с некоторыми проблемами при создании правила AND (после выбора типа правила "Входящий порт /IP" конфигурация оставалась в недопустимом состоянии, пока порт фактически не был выбран), поэтому обязательно сначала создайте резервную копию файла конфигурации (на мой /etc/cherokee/cherokee.conf
)!