我正在开发一个Magento在线商店。该网站将是高流量,将需要两个服务器设置,测试和生产。在线商店(Magento)的两个服务器设置
我的问题是如何做网上商店,特别是Magento处理这个?
我的想法是:
- 采取生产现场下线
- 清空测试数据库
- 复制从生产数据库中的数据。 (也许)
- 测试
- 复制文件和数据库到生产现场
我知道的Magento提供了一个企业的选择,但是这是一个脚本,我想我自己写的。
我正在开发一个Magento在线商店。该网站将是高流量,将需要两个服务器设置,测试和生产。在线商店(Magento)的两个服务器设置
我的问题是如何做网上商店,特别是Magento处理这个?
我的想法是:
我知道的Magento提供了一个企业的选择,但是这是一个脚本,我想我自己写的。
您不应该将生产站点脱机。
我会告诉你什么(你应该可以编写脚本)在生产站点上运行mysqldump -u root -ppassword db_name > db_name.sql
来生成数据库的副本。然后运行rsync(你可以得到它的Linux和Windows)在文件目录到rsync到测试机器任何你想要复制的文件(图像?)
在你做任何测试后,你想推到生产你可以通过两种方式做到这一点。或者(我更喜欢这种方法)保存你对sql文件中的数据库所做的任何修改,然后在生产站点上运行该修改,并同时将任何更改后的文件进行同步。或者您可以使用mysql将所有查询记录到文件中,然后在生产站点上重新播放这些查询。
如果您不需要,最好不要把生产站点放下。
实际上,如果您对数据库进行了更改,则在从旧代码切换到新代码并运行数据库迁移脚本时,您需要使站点脱机(即使只是几秒钟)。
你可能有兴趣知道,
的Postgres有交易DDL:如果你换你的迁移脚本在一个事务中有什么东西在中间断裂,整个事情被回滚(包括DROP TABLE)
Postgres没有需要重写表中添加一列(MySQL的不和它很慢)
如果你使用MyISAM你注定的原因有很多,其中之一是那Doi ng备份将使您的网站脱机几分钟。
您希望主/从mySQL与奴隶从奴隶数据库读取,但写入现场。这可以在local.xml文件中设置。您应该可以为文件运行rsync,使用--exclude作为var/session和var/cache文件。此外,您可能希望 - 如果它是开发服务器,则排除徽标。然后标识可以改为“测试”,所以你不要将它与Live混淆。
Magento需要MySQL与InnoDB,所以postgres不是一个选项 – 2010-08-02 06:14:37