07 Ene 2016

Vhost en Nginx para Magento

Vhost en Nginx para Magento

Magento es una de las plataformas de ecommerce más robustas, y por lo general, debido a la estandarización a utilizar apache como servidor web, suele llegar a ser complicado trasladar la configuración a un vhost de nginx.

Lo siguiente es una configuración estándar utilzando php-fpm, sólo es necesario cambiar las rutas base e integrarlo a tu sistema.

server {
        listen 80;
        server_name dominio.magento.net;
        root        /var/www/html/magento;

        access_log /var/log/nginx/magento-access_log;
        error_log /var/log/nginx/magento-error_log;

        location / {
                index index.php;
             # Cache para elementos estáticos
                if ($request_uri ~* "\.(ico|css|js|gif|jpe?g|png)$") {
                        access_log off;
                        expires max;
                }
                try_files $uri $uri/ @handler;
        }

     # Negar acceso a directorios ocultos
        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 /lib/minify/                { allow all; }

        location /var/export/ {
                auth_basic              "Restricted";
                auth_basic_user_file    htpasswd;
                autoindex               on;
        }

        location @handler {
                rewrite ^(.*) /index.php?$1 last;
        }

        fastcgi_intercept_errors on;

      # Resolver PHP con Fast-CGI
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;

                include fastcgi_params;
                fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;

                fastcgi_index index.php;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }
}

Artículos relacionados