2009-10-29 31 views
0

我正在開發一個Magento在線商店。該網站將是高流量,將需要兩個服務器設置,測試和生產。在線商店(Magento)的兩個服務器設置

我的問題是如何做網上商店,特別是Magento處理這個?

我的想法是:

  • 採取生產現場下線
  • 清空測試數據庫
  • 複製從生產數據庫中的數據。 (也許)
  • 測試
  • 複製文件和數據庫到生產現場

我知道的Magento提供了一個企業的選擇,但是這是一個腳本,我想我自己寫的。

回答

0

您不應該將生產站點脫機。

我會告訴你什麼(你應該可以編寫腳本)在生產站點上運行mysqldump -u root -ppassword db_name > db_name.sql來生成數據庫的副本。然後運行rsync(你可以得到它的Linux和Windows)在文件目錄到rsync到測試機器任何你想要複製的文件(圖像?)

在你做任何測試後,你想推到生產你可以通過兩種方式做到這一點。或者(我更喜歡這種方法)保存你對sql文件中的數據庫所做的任何修改,然後在生產站點上運行該修改,並同時將任何更改後的文件進行同步。或者您可以使用mysql將所有查詢記錄到文件中,然後在生產站點上重新播放這些查詢。

如果您不需要,最好不要把生產站點放下。

-1

實際上,如果您對數據庫進行了更改,則在從舊代碼切換到新代碼並運行數據庫遷移腳本時,您需要使站點脫機(即使只是幾秒鐘)。

你可能有興趣知道,

  • 的Postgres有交易DDL:如果你換你的遷移腳本在一個事務中有什麼東西在中間斷裂,整個事情被回滾(包括DROP TABLE)

  • Postgres沒有需要重寫表中添加一列(MySQL的不和它很慢)

  • 如果你使用MyISAM你註定的原因有很多,其中之一是那Doi ng備份將使您的網站脫機幾分鐘。

+0

Magento需要MySQL與InnoDB,所以postgres不是一個選項 – 2010-08-02 06:14:37

0

您希望主/從mySQL與奴隸從奴隸數據庫讀取,但寫入現場。這可以在local.xml文件中設置。您應該可以爲文件運行rsync,使用--exclude作爲var/session和var/cache文件。此外,您可能希望 - 如果它是開發服務器,則排除徽標。然後標識可以改爲「測試」,所以你不要將它與Live混淆。