<% @path = "/etc/nginx/nginx.conf" @post = "mkdir -p /mnt/nginx/logs" %> user <%= rubber_env.app_user %>; worker_processes 4; worker_rlimit_nofile 10240; pid /var/run/nginx.pid; events { worker_connections 8192; } http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay off; gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/x-ms-bmp image/svg+xml application/x-font-ttf font/opentype application/vnd.ms-fontobject; # make sure gzip does not lose large gzipped js or css files # see http://blog.leetsoft.com/2007/7/25/nginx-gzip-ssl gzip_buffers 16 8k; # configure log format like to Apache's "combined" log format log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_cookie"'; # default log files error_log /mnt/nginx/logs/error.log notice; access_log /mnt/nginx/logs/access.log main; passenger_root <%= rubber_env.passenger_root %>; passenger_ruby <%= rubber_env.passenger_ruby %>; passenger_max_pool_size <%= rubber_env.max_app_connections %>; passenger_min_instances <%= rubber_env.max_app_connections %>; passenger_max_instances_per_app 0; passenger_pool_idle_time 0; rails_framework_spawner_idle_time 0; rails_app_spawner_idle_time 0; rails_env <%= Rubber.env %>; passenger_friendly_error_pages <%= Rubber.env == 'production' ? 'off' : 'on' %>; passenger_user <%= rubber_env.app_user %>; include /etc/nginx/rubber/passenger_nginx.conf; <% if rubber_instances.for_role('web_tools').first %> include /etc/nginx/rubber/tools.conf; <% end %> }