Magento dispone de varios deploy modes (modos de ejecución) utilizados en las distintas etapas del proyecto:
- Modo default: Modo de ejecución establecido por defecto tras la instalación de Magento.
- Modo developer: Modo de ejecución utilizado durante la fase de desarrollo del proyecto y pensado para facilitar la edición ágil de ficheros, aunque con un peor rendimiento.
- Modo production: Modo de ejecución utilizado al poner el proyecto en producción y pensado para proporcionar el mejor rendimiento posible.
Diferencias entre modos de ejecución
MODO DEFAULT
- Cachea ficheros estáticos
- No muestra errores en el front
- Escribe logs de excepciones
- No incluye cabeceras X-Magento
MODO DEVELOPER
- No cachea ficheros estáticos
- Muestra errores en el front
- No escribe logs de excepciones
- Incluye cabeceras X-Magento
- Genera ficheros bajo demanda
MODO PRODUCTION
- Cachea ficheros estáticos
- No muestra errores en el front
- Escribe logs de excepciones
- Incluye cabeceras X-Magento
- No genera ficheros bajo demanda
- No permite cambios de caché (admin)
Establecer modo de ejecución
La forma recomendada de cambiar el modo de ejecución de Magento es utilizar el siguiente comando:
bin/magento deploy:mode:set default
bin/magento deploy:mode:set developer
bin/magento deploy:mode:set production
Otra forma de establecer el modo de ejecución es definirlo a nivel de servidor (nginx) en el fichero de configuración correspondiente:
server {
set $MAGE_MODE developer;
[...]
}
Hay que tener en cuenta que el modo de ejecución establecido a nivel de servidor es prioritario. Es decir, que una vez establecido un modo de ejecución a nivel de servidor, el comando anterior no tendrá efecto.
Consultar modo de ejecución actual
El modo más sencillo de consultar el modo de ejecución actual es lanzar el siguiente comando:
bin/magento deploy:mode:show
Es importante destacar que este comando no es capaz de mostrar los modos de ejecución establecidos a nivel de servidor (nginx).
Modo mantenimiento
Magento cuenta con un modo adicional pensado únicamente para poner la página en mantenimiento, bloqueando el acceso a la misma.
Los siguientes comandos permiten activar/desactivar este modo mantenimiento, así como consultar si se encuentra activado:
bin/magento maintenance:enable
bin/magento maintenance:disable
bin/magento maintenance:status
Magento crea el fichero var/.maintenance.flag para detectar si este modo ha sido habilitado.
Adicionalmente, Magento da la posibilidad de permitir determinadas direcciones IPs que podrán acceder a la página aunque el modo mantenimiento se encuentre habilitado:
bin/magento maintenance:allow-ips <ip address> .. <ip address>