Allow nginx to autotune workers
[chef.git] / cookbooks / nginx / templates / default / nginx.conf.erb
index 6133b2404fdef5a11fd21dd1fca3d8e22e7ab48f..a895af303c46e8b930625ada40ddee164e267b4b 100644 (file)
@@ -1,7 +1,9 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 # DO NOT EDIT - This file is being maintained by Chef
 
-user  nginx;
-worker_processes  4;
+user  www-data;
+worker_processes auto;
+worker_cpu_affinity auto;
+worker_rlimit_nofile 65536;
 
 error_log  /var/log/nginx/error.log warn;
 pid        /var/run/nginx.pid;
 
 error_log  /var/log/nginx/error.log warn;
 pid        /var/run/nginx.pid;
@@ -11,23 +13,28 @@ events {
     worker_connections  1024;
 }
 
     worker_connections  1024;
 }
 
-
 http {
     include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
 
 http {
     include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
 
+    server_names_hash_bucket_size 128;
+
     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  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
 
-    access_log  /var/log/nginx/access.log  main;
-
-    sendfile        on;
-    #tcp_nopush     on;
+    access_log  /var/log/nginx/access.log  main  buffer=32k flush=1m;
 
     keepalive_timeout  65;
 
 
     keepalive_timeout  65;
 
-    #gzip  on;
+    server_tokens off;
+
+    <% if node['nginx']['cache']['fastcgi']['enable'] -%>
+    fastcgi_cache_path /var/cache/nginx/fastcgi-cache levels=1:2 keys_zone=<%= node['nginx']['cache']['fastcgi']['keys_zone'] %> inactive=<%= node['nginx']['cache']['fastcgi']['inactive'] %> max_size=<%= node['nginx']['cache']['fastcgi']['max_size'] %>;
+    <% end -%>
+    <% if node['nginx']['cache']['proxy']['enable'] -%>
+    proxy_cache_path /var/cache/nginx/proxy-cache levels=1:2 keys_zone=<%= node['nginx']['cache']['proxy']['keys_zone'] %> inactive=<%= node['nginx']['cache']['proxy']['inactive'] %> max_size=<%= node['nginx']['cache']['proxy']['max_size'] %>;
+    <% end -%>
 
     include /etc/nginx/conf.d/*.conf;
 }
 
     include /etc/nginx/conf.d/*.conf;
 }