2009-10-29 1 views
0

Я развиваю интернет-магазин с Magento. Сайт будет иметь высокий трафик и потребует установки двух серверов, тестирования и производства.Две установки сервера для интернет-магазина (Magento)

Мой вопрос в том, как делают интернет-магазины, в частности, Magento?

Идея, которую я имел это:

  • Take Производственная площадка форума
  • Empty Тестирование базы данных
  • Копирование данных из базы данных. (Может быть)
  • Test
  • Копирование файлов и базы данных сайта Production

Я знаю, что Magento предлагает опцию Enterprise, но это сценарий, я хотел бы написать сам.

ответ

0

Вам не нужно снимать производственную площадку в автономном режиме.

Что бы я ни старался (и вы должны это сделать), на рабочем месте запускается mysqldump -u root -ppassword db_name > db_name.sql для создания копии базы данных. затем запустите rsync (вы можете получить его как для Linux, так и для Windows) в каталоге файлов для rsync на тестовую машину для любых файлов, которые вы хотите скопировать (изображения?)

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

Лучше не снимать производственную площадку, если вам не нужно.

-1

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

Вы могли бы быть интересно узнать, что

  • Postgres имеет транзакционный DDL: если вы оберните миграции сценарий в сделке и что-то ломается в середине, все это откат (включая DROP TABLE)

  • Postgres не нужно переписать таблицу, чтобы добавить столбец (MySQL делает и это довольно медленно)

  • если вы используете MyISAM вы обречены по многим причинам, одна из них в том, что дои Резервные копии ng будут отключены на вашем сайте в течение нескольких минут.

+0

Magento требует MySQL с InnoDB, поэтому postgres не является опцией –

0

Вы хотите master/slave mySQL с ведомым считыванием из базы подчиненных, но записываете в live. Это можно настроить в файле local.xml. Вы должны иметь возможность запускать rsync для файлов с помощью --exclude для файлов var/session и var/cache. Также вы можете захотеть - включить логотип, если он является сервером разработки. Затем логотип можно изменить, чтобы сказать «тест», чтобы вы не путали его с Live.