Pregunta

Estoy desarrollando una tienda en línea con Magento. El sitio tendrá mucho tráfico y necesitará una configuración de dos servidores, Pruebas y Producción.

Mi pregunta es ¿cómo manejan esto las tiendas en línea, específicamente Magento?

La idea que tuve es:

  • Poner el sitio de producción fuera de línea
  • Base de datos de pruebas vacía
  • Copiar datos de la base de datos de producción. (Quizás)
  • Prueba
  • Copiar archivos y base de datos al sitio de producción

Sé que Magento ofrece una opción Enterprise, pero este es un script que me gustaría escribir yo mismo.

¿Fue útil?

Solución

No debería necesitar desconectar el sitio de producción.

Lo que sugeriría (y debería poder escribir esto) está en el sitio de producción para ejecutar mysqldump -u root -ppassword nombre_bd > db_name.sql para generar una copia de la base de datos. luego ejecute rsync (puede obtenerlo tanto para Linux como para Windows) en el directorio de archivos para rsync a la máquina de prueba cualquier archivo que desee copiar (¿imágenes?)

Después de hacer cualquier prueba en su que desea impulsar a la producción, puede hacerlo de dos maneras. o bien (y prefiero este método) guarde cualquier cambio que haya realizado en la base de datos en un archivo sql y ejecútelo en el sitio de producción y, al mismo tiempo, sincronice los archivos modificados. o puede usar mysql para registrar todas las consultas en un archivo y luego reproducirlas en el sitio de producción.

Es mejor no eliminar el sitio de producción si no es necesario.

Otros consejos

Desea maestro / esclavo mySQL con el esclavo leyendo de la base de datos esclava pero escribiendo en vivo. Esto se puede configurar en el archivo local.xml. Debería poder ejecutar rsync para los archivos, con --exclude para los archivos var / session y var / cache. También es posible que desee --excluir el logotipo si es un servidor de desarrollo. El logotipo se puede cambiar para decir 'prueba' para que no lo confundas con Live.

En realidad, si realiza cambios en la base de datos, deberá desconectar el sitio (incluso durante unos segundos) mientras cambia del código anterior al nuevo y ejecuta el script de migración de la base de datos.

Quizás te interese saber eso

  • postgres tiene DDL transaccional: si ajusta su script de migración en una transacción y algo se rompe en el medio, todo se revierte (incluida la TABLA DE GOTAS)

  • postgres no necesita reescribir la tabla para agregar una columna (MySQL sí y es bastante lento)

  • si usa MyISAM está condenado por muchas razones, una de ellas es que hacer copias de seguridad dejará su sitio fuera de línea durante unos minutos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top