Magento2.0的Nginx主机配置

  • 09 May 2016
  • Posted by admin
  • 0 Comments

Nginx是一个用于不同协议的反向代理服务器,如HTTP、HTTPS、POP3、SMTP、IMAP、HTTP缓存、负载平衡器、以及原始Web服务器。作为一个开源项目,Nginx已经开始在高性能、高并发和内存使用率低方面引发强烈关注。nginx的运行在Mac OS X,Linux,BSD variants,Solaris,HP-UX,AIX和其他*NIX flavors。

Nginx为Magento2.0重写规则配置参考写法:

# Magento Vars
  # set $MAGE_ROOT /path/to/magento/root;
  #
  # ############################################
  ## Optional override of deployment mode. We recommend you use the
  ## command bin/magento deploy:mode:set to switch modes instead
  ## set $MAGE_MODE default; # or production or developer
  #
  # Example configuration:
  # upstream fastcgi_backend {
  # # use tcp connection
  # # server 127.0.0.1:9000;
  # # or socket
  # server unix:/var/run/php5-fpm.sock;
  # }
  # server {
  # listen 80;
  # server_name mage.dev;
  # set $MAGE_ROOT /var/www/magento2;
  # include /vagrant/magento2/nginx.conf.sample;
  # }
   
   
  root $MAGE_ROOT/pub;
   
  index index.php;
  autoindex off;
  charset UTF-8;
  #add_header "X-UA-Compatible" "IE=Edge";
   
  location ~* ^/setup($|/) {
  root $MAGE_ROOT;
  location ~ ^/setup/index.php {
  fastcgi_pass fastcgi_backend;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
  }
   
  location ~ ^/setup/(?!pub/). {
  deny all;
  }
   
  location ~ ^/setup/pub/ {
  add_header X-Frame-Options "SAMEORIGIN";
  }
  }
   
  location ~* ^/update($|/) {
  root $MAGE_ROOT;
   
  location ~ ^/update/index.php {
  fastcgi_split_path_info ^(/update/index.php)(/.+)$;
  fastcgi_pass fastcgi_backend;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  include fastcgi_params;
  }
   
  # Deny everything but index.php
  location ~ ^/update/(?!pub/). {
  deny all;
  }
   
  location ~ ^/update/pub/ {
  add_header X-Frame-Options "SAMEORIGIN";
  }
  }
   
  location / {
  try_files $uri $uri/ /index.php?$args;
  }
   
  location /pub/ {
  location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
  deny all;
  }
  alias $MAGE_ROOT/pub/;
  add_header X-Frame-Options "SAMEORIGIN";
  }
   
  location /static/ {
  if ($MAGE_MODE = "production") {
  expires max;
  }
   
  # Remove signature of the static files that is used to overcome the browser cache
  location ~ ^/static/version {
  rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
  }
   
  location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
  add_header Cache-Control "public";
  add_header X-Frame-Options "SAMEORIGIN";
  expires +1y;
   
  if (!-f $request_filename) {
  rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
  }
  }
  location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
  add_header Cache-Control "no-store";
  add_header X-Frame-Options "SAMEORIGIN";
  expires off;
   
  if (!-f $request_filename) {
  rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
  }
  }
  if (!-f $request_filename) {
  rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
  }
  add_header X-Frame-Options "SAMEORIGIN";
  }
   
  location /media/ {
  try_files $uri $uri/ /get.php?$args;
   
  location ~ ^/media/theme_customization/.*\.xml {
  deny all;
  }
   
  location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
  add_header Cache-Control "public";
  add_header X-Frame-Options "SAMEORIGIN";
  expires +1y;
  try_files $uri $uri/ /get.php?$args;
  }
  location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
  add_header Cache-Control "no-store";
  add_header X-Frame-Options "SAMEORIGIN";
  expires off;
  try_files $uri $uri/ /get.php?$args;
  }
  add_header X-Frame-Options "SAMEORIGIN";
  }
   
  location /media/customer/ {
  deny all;
  }
   
  location /media/downloadable/ {
  deny all;
  }
   
  location /media/import/ {
  deny all;
  }
   
  location ~ (index|get|static|report|404|503)\.php$ {
  try_files $uri =404;
  fastcgi_pass fastcgi_backend;
  fastcgi_buffers 1024 4k;
   
  fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
  fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600";
  fastcgi_read_timeout 600s;
  fastcgi_connect_timeout 600s;
  fastcgi_param MAGE_MODE $MAGE_MODE;
   
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
  }
   
  gzip on;
  gzip_disable "msie6";
   
  gzip_comp_level 6;
  gzip_min_length 1100;
  gzip_buffers 16 8k;
  gzip_proxied any;
  gzip_types
  text/plain
  text/css
  text/js
  text/xml
  text/javascript
  application/javascript
  application/x-javascript
  application/json
  application/xml
  application/xml+rss
  image/svg+xml;
  gzip_vary on;
   
  location ~ \.php$ {
  deny all;
  }