14 Jul

Nginx for Magento

contents of /etc/nginx.conf

user admin apache;
worker_processes 4;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

events {
worker_connections 1024;
}

# main server config

http {

include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr – $remote_user [$time_local] $request ‘
‘”$status” $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

#sendfile on;
tcp_nopush on;
tcp_nodelay on;
gzip on;
gzip_static on;
gzip_vary on;
gzip_min_length 512;
gzip_buffers 256 8k;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml;
server_tokens off;

client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 3m;

client_header_buffer_size 1k;
large_client_header_buffers 4 4k;

output_buffers 1 32k;
postpone_output 1460;

keepalive_timeout 60 15;

# virtual hosting
include conf.d/*.conf;
}

 

 

 

and this would be our Vhost file (under conf.d/)

 

server {

listen 80;
server_name yourDomain.com;

root /home/wwwdir;

location ~* .(ico|css|js|gif|jpe?g|png)(?[0-9]+)?$ {
expires max;
break;
}

location / {
index index.html index.php; ## Allow a static html file to be shown first
try_files $uri $uri/ @handler; ## If missing pass the URI to Magento’s front handler
expires 30d; ## Assume all files are cachable
}
location /minify/ { ## Needed for Fooman Speedster
rewrite ^/minify/([0-9]+)(/.*.(js|css))$ /lib/minify/m.php?f=$2&d=$1 last;
}

## These locations would be hidden by .htaccess normally
location /app/                { deny all; }
location /includes/           { deny all; }
location /lib/                { deny all; }
location /lib/minify/         { allow all; }  ##
location /media/downloadable/ { deny all; }
location /pkginfo/            { deny all; }
location /report/config.xml   { deny all; }
location /var/                { deny all; }

location /var/export/ { ## Allow admins only to view export folder
auth_basic           “Restricted”; ## Message shown in login window
auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
autoindex            on;
}

location  /. { ## Disable .htaccess and other hidden files
return 404;
}

location @handler { ## Magento uses a common front handler
rewrite / /index.php;
}

location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
rewrite ^(.*.php)/ $1 last;
}

location ~ .php$ { ## Execute PHP scripts

if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss

#expires        off; ## Do not cache dynamic content
fastcgi_pass   127.0.0.1:9000;
fastcgi_param  HTTPS $fastcgi_https;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
fastcgi_param  MAGE_RUN_CODE default;
fastcgi_param  MAGE_RUN_TYPE store;
include        fastcgi_params; ## See /etc/nginx/fastcgi_params

}
}

Share this

Leave a reply

Leave a Reply