|
|
|
| Здравствуйте.
Я до сих пор делаю сайт на локалке (всегда использую свою cms) заказываю хостинг, заливаю сайт на ftp и базу данных через phpmyadmin. А как разместить сайт на нескольких серверах? Какие будут отличия от привычного мне способа размещения? Как будет организован код? На каждый сервер - своя cms?
PS Мне ни разу не приходилось этого делать, хотя делали довольно крупные порталы. | |
|
|
|
|
|
|
|
для: antf
(12.09.2014 в 00:54)
| | ну, основной код можно вынести за корневые папки сайтов, типа, www. например, как в yii. папка framework может быть одна для всех сайтов. так же и некоторые другие. главное, чтобы ваша система поддерживала подобное. то есть была возможность задать пути к системным папкам. и их настройка заняла бы меньше секунды. обычно это константы, прописываемые в индексном файле. | |
|
|
|
|
|
|
|
для: antf
(12.09.2014 в 00:54)
| | Весь тяжелый контент (фото, изображения) выносятся на отдельный сервер, отдается с отдельного поддомена или настраиваете nginx таким образом, чтобы он дергал этот сервер, когда идет обращение к контенту. Базу данных тоже выносите на отдельный сервер. На веб-нодах держите только программный код. Это позволит вам быстро вводить дополнительные веб-ноды. Перед веб-нодами стоит балансировщик, как правило, на базе nginx. Ряд сервисов вроде Amazon предлагают собственный API, который вводит ноды в зависимости от нагрузки и отключает их, когда нагрузка падает. Если у вас чрезвычайно много контента, то можно задействовать безразмерное хранилище (swift в OpenStack или S3 в терминологии Amazon).
>На каждый сервер - своя cms?
Да, копия вашего сайта, за исключением базы данных и контента, которые хранятся отдельно. Размещать можете руками, но это становится трудоемко и чревато ошибками, когда вы обновляете несколько нод. Вы физически руками не успеете обновиться синхронно, когда нод десятки или сотни. Есть множество инструментов от простейшего sync до более сложных вроде puppet или capistrano.
В базе данных создается репликация (стоит только помнить, что масштабируется только SELECT, чтобы масштабировать INSERT придется разносить таблицы по разным серверам или хотя бы дискам).
PS Там на самом деле все просто и очевидно, стоит только попробовать. | |
|
|
|