Конфигурация для нескольких хостов в одном сервисе Dotcloud PHP

Я создаю приложение в DotCloud, где я хочу разместить несколько веб-сайтов, используя один и тот же сервис PHP. У меня уже есть один сайт, работающий с «approot» этого сайта, установленным в подпапку моей кодовой базы в моем файле dotcloud.yml.

Я предполагаю, что мне нужно удалить мое определение approot из моего файла dotcloud.yml, а затем обернуть мои настройки nginx.conf для каждого сайта подпапки в объявлении «сервера» с server_name, установленным для моего псевдонима домена, и корнем, установленным для подпапки для этого домена. К сожалению, поскольку я не могу добавлять псевдонимы в приложение «песочница», у меня нет возможности протестировать подобную конфигурацию без создания другого «живого» приложения.

Как настроить файл dotcloud.yml и файлы nginx.conf так, чтобы один псевдоним указывал на одну подпапку (мой текущий approot), а второй псевдоним указывал на другую подпапку (совершенно другой сайт и домен) в той же службе PHP ?


person user1106959    schedule 02.08.2012    source источник
comment
Можете ли вы объяснить, почему вы хотите обслуживать два разных сайта с разными кодовыми базами (кажется) из одного и того же сервиса? Это для экономии ресурсов, для повторного использования некоторых частей кода, для доступа к некоторым общим локальным файлам...?   -  person jpetazzo    schedule 06.08.2012


Ответы (1)


Не уверен, что это именно то, что вы ищете, но. У вас может быть один dotCloud.yml с несколькими сервисами, каждый из которых указывает на другой approot.

dotcloud.yml

php1:
   type: php
   approot: site_1
php2:
   type: php
   approot: site_2
db:
   type: mysql

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

$ dotcloud alias add app.php1 www.example1.com

$ dotcloud alias add app.php2 www.example2.com

Другой вариант:

Если вы пишете свой код, чтобы он был мультитенетным, вы можете посмотреть на хост, указанный в заголовке запроса, и обслуживать разные веб-сайты из одной и той же кодовой базы. Django делает это в значительной степени из коробки на стороне Python. Не уверен, что есть что-то подобное с php.

person Ken Cochrane    schedule 02.08.2012
comment
Конфигурация, которую вы описываете, - это то, что у меня сейчас есть для наших www-серверов и серверов изображений. Что я пытаюсь сделать, так это добавить еще одну базу кода (которая оказывается многопользовательской на основе домена) с дополнительными псевдонимами для существующей службы www. - person user1106959; 03.08.2012
comment
этот ответ больше не помогает - команды псевдонима не существует. - person changokun; 10.09.2013