hoangweb
4/16/2016 - 12:58 PM

abantecart nginx vhost

abantecart nginx vhost

server {
    listen *:80;
    server_name demo.hoangweb.com;
    root /var/www/html/abantecart;
  index index.php index.html index.htm;

    # Prevent directory listing
    autoindex off;

    client_max_body_size 50M;
    access_log off;
    error_log /var/log/nginx/vinacart-error.log;

    # rules applied in root of our config
    location / {

            # include AbanteCart rules
            try_files $uri $uri/ $uri.php @abantecart_rules;
            error_page 502 = @fallback;

            # php settings (may differ on your server)
            location ~ \.php$ {
                  fastcgi_split_path_info ^(.+\.php)(/.+)$;
                  fastcgi_keep_conn on;
                  proxy_intercept_errors on;

                    fastcgi_pass unix:/var/run/php5-fpm-vinacart.sock;
                    #fastcgi_pass   127.0.0.1:9000;
                    fastcgi_index index.php;

                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_param SCRIPT_NAME     $fastcgi_script_name;

                    fastcgi_buffer_size 128k;
                    fastcgi_buffers 256 16k;
                    fastcgi_busy_buffers_size 256k;
                    fastcgi_temp_file_write_size 256k;
                  fastcgi_read_timeout 300;

                    include fastcgi_params;
            }

    }

    # rewrites our query strings properly for AbanteCart
    location @abantecart_rules {
        rewrite ^(.*)\?*$ /index.php?_route_=$1 last;
    }

    # No direct access allowed for .tpl files
    location ~ \.tpl {
            deny all;
    }
    
    location @fallback {
      try_files $uri /index.php;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;   # takes any PHP file
      include fastcgi_params;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

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

}