- Tener instalado y funcionando NGINX y php-fpm
- {serverRoot}
- Ruta donde se encuentra nuestra tienda.
- {serverName}
- Nombre de nuestro servidor.
- {codigoTienda}
- Código en MAGENTO de la tienda.
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