2009-08-25 4 views
6

Как правило, мое развитие охватывает только малые и средние компании и сайты электронной коммерции.Как бороться с mutliple сайтами, которые получают доступ к «мозгу»?

Мой следующий проект будет включать в себя 30 сайтов - однако они будут иметь около 95% общего между собой. Я хочу, чтобы у них был «мозг», это означает, что я могу развернуть изменения, обновления для фреймворка и т. Д. Только один раз.

Интересно, делает ли это семейство сайтов переполнения стека (superuser, stackoverflow, serverfault и т. Д.).

Мои языки/платформы - это PHP 5.3, MySQL 5 и Kohana Framework.

Мозг должен иметь

  • 1 администратор системы, которая может обрабатывать каждый сайт
  • все шаблоны существуют в мозге - однако они имеют заполнители, например, название, логотип и т.д.
  • образом поэтому я могу выполнить любое обновление, чтобы глобальные шаблоны автоматически отфильтровывали все остальные сайты.

Я понимаю, что это сильно повлияет на мозг, поэтому мне придется использовать кеширование на стороне сервера.

Как бы я каждый доступ к домену мозга, так, например:

http://www.mysite2.com/products/something

молча обращались http://www.mothership.com/mysite2/products/something

И это будет лучший способ сделать это? Есть ли у вас какие-либо советы? Я на правильном пути?

Не стесняйтесь, уточняйте больше подробностей.

+0

Are все сайты, на общем сервере, т.е. имеют один и тот же IP-адрес? –

+0

Они могут быть - однако у меня ограниченный опыт работы с этим способом. – alex

+1

mothership.com NICE! –

ответ

3

Самый простой способ сделать это с помощью виртуального хостинга. В основном вы запускаете все сайты на одной машине. На одной машине есть конфигурация Apache, которая обслуживает все сайты.

Если сайты более похожи друг на друга, то просто укажите все сайты в один каталог. Файлы PHP могут определять, какой сайт они обслуживают. Вы можете предоставить различные верхние и нижние колонтитулы для каждого сайта, чтобы обрабатывать внешний вид. Вы также можете ограничить определенные страницы таким образом.

Если сайты отличаются друг от друга, то укажите их в другой каталог и укажите страницы, относящиеся к этим сайтам в каждом каталоге.

Для общей функциональности вы можете использовать что-то вроде mod_rewrite для сопоставления URL-адресов на разных сайтах с одним и тем же скриптом, или вы можете иметь скрипты PHP в каждом месте, которые включают/требуют общих функций.

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

В соответствии с просьбой, предложил прочитать:

+0

Ваше последнее предложение описывает именно то, чего я пытаюсь достичь. У меня слишком много знаний, которые настраивают Apache за пределами файлов .htaccess. Мне нужно провести какое-то исследование - любое рекомендуемое чтение Cletus? И спасибо за ваш ответ. – alex

0

Вы можете достичь этого в Apache, используя <VirtualHost> Directive. Чтобы сделать это в Apache 2.x, отредактируйте httpd.conf и раскомментируйте эту строку (обычно это находится в конце файла): Include conf/extra/httpd-vhosts.conf. Затем найдите файл httpd-vhosts.conf и до вступления VirtualHosts в этом формате:

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site1 
ServerName site1.com 
</VirtualHost> 

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site2 
ServerName site2.com 
</VirtualHost> 

<VirtualHost 10.1.2.3> 
DocumentRoot /home/site2 
ServerName site3.com 
</VirtualHost> 
+0

Знаете ли вы о каких-либо хостах, которые позволят вам изменить это? – alex

+0

Вам потребуется root-доступ для изменения системных файлов. Лучше всего зарегистрировать решение для хостинга VPS, которое обычно начинается с 25 долларов в месяц. http://www.webhostingtalk.com/web-hosting-providers/vps-hosting – jusunlee

 Смежные вопросы

  • Нет связанных вопросов^_^