viernes, 18 de abril de 2014

MAGENTO: Virtual host de NGINX para MAGENTO

Precondiciones:
  1. Tener instalado y funcionando NGINX y php-fpm
Variables:
  • {serverRoot}
    • Ruta donde se encuentra nuestra tienda.
  • {serverName}
    • Nombre de nuestro servidor.
  • {codigoTienda}
    • Código en MAGENTO de la tienda.
Consideraciones:
En instalaciones multitienda y por cuestiones de rendimiento se aconseja crear un virtualhost por cada tienda.


Proceso:
En el directorio de sites_enabled de NGINX crear el archivo {serverName}, con el siguiente contenido:

server {
    listen   80;
    root {serverRoot};
    index index.php;

    server_name {serverName};

    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
        access_log        off;
        expires           30d;
        add_header Cache-Control "public";
    }

    location ^~ /app/                { deny all; }
    location ^~ /includes/           { deny all; }
    location ^~ /lib/                { deny all; }
    location ^~ /media/downloadable/ { deny all; }
    location ^~ /pkginfo/            { deny all; }
    location ^~ /report/config.xml   { deny all; }
    location ^~ /var/                { deny all; }

     location / {
         if ($uri ~ "^(.+.php)(/.+)") {
                set $path_info $1;
        }

        if (!-e $request_filename) {
            rewrite ^(.+)$ /index.php;
        }
    }

    fastcgi_param PATH_INFO $path_info;

    location ~ \.php$ {

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;

        expires        off; ## Do not cache dynamic content
        fastcgi_buffer_size 256k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_read_timeout 120;

        fastcgi_param  MAGE_RUN_CODE {codigoTienda};

    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }

}

Recargarmos la configuración de NGINX y listo :D

sudo service nginx reload


No hay comentarios:

Publicar un comentario