deployment - deployer - Mover la aplicación al modo de producción en Symfony 2
symfony deployer (6)
¿Alguien puede ayudarme a mover mi aplicación Symfony 2 al modo de producción?
Actualmente, la aplicación se está ejecutando correctamente en /app_dev.php
.
Estoy buscando en Google, pero no estoy encontrando una guía definitiva para el despliegue en Symfony 2.
En su archivo "web / app.php"
$kernel = new AppKernel(''prod'', false);
Cambia el valor a "verdadero".
$kernel = new AppKernel(''prod'', true);
Ahora puede cargar la aplicación en modo de producción.
La información básica de configuración se puede encontrar aquí: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html
Un lugar importante donde tropiezan muchas personas es la gestión de activos. Al acceder a la aplicación a través del controlador frontal de app.dev (ver el primer enlace), puede ser necesario primero tirar los activos. Lea todo al respecto aquí: http://symfony.com/doc/current/cookbook/assetic/asset_management.html#cookbook-assetic-dumping
Mover Symfony2 a producción significa:
acceder a la aplicación a través de: app.php /
Los paquetes de desarrollo de prueba no se cargarán ya que hay una condición en AppKernel.php cuando se utiliza app.php. Si desea descargar el paquete que debe usarse solo en dev, puede colocarlo en esta sección (en appKernel.php)
if (in_array($this->getEnvironment(), array(''dev'', ''test''))) {
$bundles[] = new Symfony/Bundle/WebProfilerBundle/WebProfilerBundle();
$bundles[] = new Sensio/Bundle/DistributionBundle/SensioDistributionBundle();
$bundles[] = new Sensio/Bundle/GeneratorBundle/SensioGeneratorBundle();
$bundles[] = new Sf2gen/Bundle/GeneratorBundle/Sf2genGeneratorBundle();
}
También necesita hacer algunos ajustes del servidor desactivando xdebug y agregando eacclerator (o algo más para el rendimiento del almacenamiento en caché)
También recomiendo cambiar el nombre de app_dev.php para desactivar el modo dev
Symfony CookBook ahora tiene algunas recetas sobre la implementación que cubre:
- servidor web estándar basado en Linux: cómo implementar una aplicación Symfony2 ,
- Microsoft Azure Website Cloud: implementación en la nube de sitio web de Microsoft Azure ,
- Nube de Heroku: Despliegue a la nube de Heroku .
Symfony2 Cómo dominar y crear entornos nuevos http://symfony.com/doc/current/cookbook/configuration/environments.html
Un par de cosas más a tener en cuenta:
php app/console cache:clear --env=prod --no-debug
php app/console assets:install web_directory
php app/console assetic:dump web_directory
También podría encontrarse con problemas de permisos con el directorio de caché. De hecho, primero me aseguro de que todo funcione en modo de desarrollo en el servidor antes de pasar al modo de producción. Y si todo lo que obtiene son pantallas en blanco en modo de producción, entonces configure la depuración en verdadero. Y, por supuesto, sepa cómo verificar sus registros de errores.