Как сохранить несколько проектов Django в качестве виртуальных хостов Cherokee на основе портов?

Можно ли поддерживать несколько проектов Django (на самом деле FastCGI/SCGI) на одном IP-адресе и различать их по порту?

Мне очень нравится чероки. Его интерфейс администратора и простота настройки, которую он приносит, просто потрясающие. Поэтому мне немного грустно из-за отсутствия (по крайней мере очевидным, явным образом) виртуальных хостов на основе портов.

Пожалуйста, имейте в виду, отвечая:

  1. Подбирайте виртуальные серверы по портам - я это читал.

  2. Не советуйте другим веб-серверам - я знаю, что могу использовать их для этой цели, но я пытаюсь лучше изучить чероки.

Большое спасибо.

1 ответ

Решение

Да, это возможно.

Во-первых, вам нужно настроить Cherokee для прослушивания нужных портов:

В разделе "Общие" -> "Ports to Listen" добавьте порт и оставьте поле IP пустым (для всех IP-адресов).

Затем для каждого размещаемого приложения создайте виртуальный хост.

Для каждого виртуального хоста убедитесь, что во всех правилах поведения есть правило "И" (на вкладке "Правила"), для которого "Входящий порт /IP" установлен на нужный порт, который вы ранее настроили.

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

При тестировании этого на моей собственной конфигурации я столкнулся с некоторыми проблемами при создании правила AND (после выбора типа правила "Входящий порт /IP" конфигурация оставалась в недопустимом состоянии, пока порт фактически не был выбран), поэтому обязательно сначала создайте резервную копию файла конфигурации (на мой /etc/cherokee/cherokee.conf)!

Другие вопросы по тегам