Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: А что значит разместить проект на нескольких серверах?
 
 автор: antf   (12.09.2014 в 00:54)   письмо автору
 
 

Здравствуйте.
Я до сих пор делаю сайт на локалке (всегда использую свою cms) заказываю хостинг, заливаю сайт на ftp и базу данных через phpmyadmin. А как разместить сайт на нескольких серверах? Какие будут отличия от привычного мне способа размещения? Как будет организован код? На каждый сервер - своя cms?

PS Мне ни разу не приходилось этого делать, хотя делали довольно крупные порталы.

  Ответить  
 
 автор: Enter   (12.09.2014 в 10:17)   письмо автору
 
   для: antf   (12.09.2014 в 00:54)
 

ну, основной код можно вынести за корневые папки сайтов, типа, www. например, как в yii. папка framework может быть одна для всех сайтов. так же и некоторые другие. главное, чтобы ваша система поддерживала подобное. то есть была возможность задать пути к системным папкам. и их настройка заняла бы меньше секунды. обычно это константы, прописываемые в индексном файле.

  Ответить  
 
 автор: cheops   (12.09.2014 в 19:51)   письмо автору
 
   для: antf   (12.09.2014 в 00:54)
 

Весь тяжелый контент (фото, изображения) выносятся на отдельный сервер, отдается с отдельного поддомена или настраиваете nginx таким образом, чтобы он дергал этот сервер, когда идет обращение к контенту. Базу данных тоже выносите на отдельный сервер. На веб-нодах держите только программный код. Это позволит вам быстро вводить дополнительные веб-ноды. Перед веб-нодами стоит балансировщик, как правило, на базе nginx. Ряд сервисов вроде Amazon предлагают собственный API, который вводит ноды в зависимости от нагрузки и отключает их, когда нагрузка падает. Если у вас чрезвычайно много контента, то можно задействовать безразмерное хранилище (swift в OpenStack или S3 в терминологии Amazon).

>На каждый сервер - своя cms?
Да, копия вашего сайта, за исключением базы данных и контента, которые хранятся отдельно. Размещать можете руками, но это становится трудоемко и чревато ошибками, когда вы обновляете несколько нод. Вы физически руками не успеете обновиться синхронно, когда нод десятки или сотни. Есть множество инструментов от простейшего sync до более сложных вроде puppet или capistrano.

В базе данных создается репликация (стоит только помнить, что масштабируется только SELECT, чтобы масштабировать INSERT придется разносить таблицы по разным серверам или хотя бы дискам).

PS Там на самом деле все просто и очевидно, стоит только попробовать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования