user  www www;
worker_processes  4;

#error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

worker_rlimit_nofile  1024;
events {
    worker_connections  1024;
}

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"';

    #log_format IP .$remote_addr.;

    access_log off;

    server_tokens off;
    reset_timedout_connection  on;

    sendfile        on;

	# http://en.wikipedia.org/wiki/Asynchronous_I/O
    # aio             sendfile;

    output_buffers  1 64k;

    tcp_nopush      on;
    tcp_nodelay     on;
    send_lowat      12000;
    log_not_found   off;

    keepalive_timeout 65;

    limit_req_zone  $binary_remote_addr  zone=one:16m  rate=5r/s;

    gzip  on;
    gzip_vary on;
    gzip_min_length 2048;
    gzip_comp_level 5;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    client_max_body_size 10m;
    large_client_header_buffers 4 8k;
    client_body_temp_path /tmp/nginx/client_temp 1 2;

    server {
        #listen       80 default sndbuf=32k rcvbuf=8k accept_filter=httpready;
        #listen  [::]:80 default sndbuf=32k rcvbuf=8k accept_filter=httpready;

        listen       80 default sndbuf=32k rcvbuf=8k;
        server_name  sitedomain.ru;

        charset utf8;

        access_log off;

        location / {
            root  /var/www;
            index index.html index.htm index.php;
        }

        error_page  404              /404.html;
        error_page  500 502 503 504  /50x.html;

        # pass the PHP scripts to FastCGI server listening on /tmp/php.sock;
        #
        location ~ \.php$ {
            #limit_req  zone=one  burst=20  nodelay;
            #limit_req_log_level  info;

            root           /var/www;
            fastcgi_index  index.php;
            fastcgi_pass    unix:/tmp/php.sock; # 127.0.0.1:9000;
			fastcgi_intercept_errors on;

            # FreeBSD Optimization
			fastcgi_pass_request_body off;
            client_body_in_file_only clean;
            fastcgi_param   REQUEST_BODY_FILE  $request_body_file;

            fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_script_name;

            include         fastcgi_params;
        }

        location ^~ /bt/ {
            access_log   off;
#            if ( $query_string ~ "^uk=([^&?]{10})[&?]+(.*)$" ) {
#            	set $uk $1;
#            	set $qs $2&ip=$remote_addr;
#            }
#            if ( $query_string ~ "^uk=([^&?]{10})[&?]+((.*&|)ip=.*)$" ) {
#            	set $uk $1;
#            	set $qs $2;
#            }
#            if ( $qs ) {
#            	rewrite ^.*/([a-z]+)(\.php|)$ /$uk/$1?$qs break;
#            }
            rewrite ^/?(.*)$ /$1?ip=$remote_addr&$query_string break;
            proxy_pass http://127.0.0.1:2710/;
        }

        # Cached Images
		location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
            root         /var/www;
            access_log   off;
            expires      30d;
            add_header   Cache-Control  public;
        }

        location ~ \/admin|backup\/ {
            deny all;
        #    allow YOUR_IP;
        }
		# Deny folder (Sec. lvl1)
        location ~ \/(cache|log|attach_mod|cache|config|includes|language|triggers)\/ {
            deny all;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        # deny sql,tpl,db,inc,log
        location ~ /\.ht {
            deny  all;
        }
        location ~ \.(.*sql|tpl|db|inc|log)$ {
            deny  all;
        }
    }
}