FAQ

Page Discussion History

Difference between revisions of "Magento"

(Without the args parameter filtering, search or other items in magento that require additional parameters wont work. Changed ports on PHP to 9000 as that will be more familiar to viewers.)
 
(Added confirmed working nginx configuration for Magento Community 1.7)
Line 36: Line 36:
 
   }
 
   }
  
 +
}
 +
</geshi>
 +
 +
 +
This config works for version 1.7:
 +
 +
<geshi lang="nginx">
 +
server {
 +
  root   /home/magento/web/;
 +
  index   index.php;
 +
  server_name magento.example.com;
 +
  location / {
 +
    index index.html index.php;
 +
    try_files $uri $uri/ @handler;
 +
    expires 30d;
 +
  }
 +
  location ^~ /(app|includes|lib|media/downloadable|pkginfo|report/config.xml|var)/ { internal; }
 +
  location /var/export/ { internal; }
 +
  location /. { return 404; }
 +
  location @handler { rewrite / /index.php; }
 +
  location ~* .php/ { rewrite ^(.*.php)/ $1 last; }
 +
  location ~* .php$ {
 +
    if (!-e $request_filename) { rewrite / /index.php last; }
 +
    expires off;
 +
    fastcgi_pass 127.0.0.1:9000;
 +
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 +
    fastcgi_param MAGE_RUN_CODE default;
 +
    fastcgi_param MAGE_RUN_TYPE store;
 +
    include fastcgi_params;
 +
  }
 
}
 
}
 
</geshi>
 
</geshi>

Revision as of 08:36, 14 September 2012

Magento is becoming a very popular web based commerce system.

This config currently seems to work for the <1.4 versions

server {
  server_name example.com;
  root /var/www/vhost/example.com/htdocs;
  access_log /var/log/nginx/example.com.access.log main;
  index index.php;
 
  location / {
    try_files $uri $uri/ /index.php?$args; 
  }
 
  # set a nice expire for assets
  location ~* "^.+\.(jpe?g|gif|css|png|js|ico|pdf|zip|tar|t?gz|mp3|wav|swf)$" {
    expires    max;
    add_header Cache-Control public;
  }
 
  # the downloader has its own index.php that needs to be used
  location ~* ^(/downloader|/js|/404|/report)(.*) {
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$1/index.php$1;
    fastcgi_read_timeout 600;
    fastcgi_pass  127.0.0.1:9000;
  }
 
  location ~* \.php {
    include fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_read_timeout 600;
    fastcgi_pass  127.0.0.1:9000;
  }
 
}


This config works for version 1.7:

server {
  root	   /home/magento/web/;
  index	   index.php;
  server_name	magento.example.com;
  location / {
    index index.html index.php;
    try_files $uri $uri/ @handler;
    expires 30d;
  }
  location ^~ /(app|includes|lib|media/downloadable|pkginfo|report/config.xml|var)/ { internal; }
  location /var/export/ { internal; }
  location /. { return 404; }
  location @handler { rewrite / /index.php; }
  location ~* .php/ { rewrite ^(.*.php)/ $1 last; }
  location ~* .php$ {
    if (!-e $request_filename) { rewrite / /index.php last; }
    expires off;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param MAGE_RUN_CODE default;
    fastcgi_param MAGE_RUN_TYPE store;
    include fastcgi_params;
  }
}