| @ -0,0 +1,108 @@ | |||
| # set user for nginx | |||
| user {{ $user }}; | |||
| # you must set worker processes based on your CPU cores | |||
| worker_processes {{ $processes }}; | |||
| # number of file descriptors used for nginx | |||
| # the limit for the maximum FDs on the server is usually set by the OS. | |||
| # if you don't set FD's then OS settings will be used which is by default 2000 | |||
| worker_rlimit_nofile 100000; | |||
| pid /run/nginx.pid; | |||
| events { | |||
| # determines how much clients will be served per worker | |||
| worker_connections {{ $connections }}; | |||
| # optimized to serve many clients with each thread, essential for linux | |||
| use epoll; | |||
| # accept as many connections as possible | |||
| multi_accept on; | |||
| } | |||
| http { | |||
| server_tokens off; | |||
| @if ($env === 'development') | |||
| # error log will be only write from debug | |||
| error_log /var/log/nginx.error_log debug; | |||
| @else | |||
| # error log will be only write from warn-level | |||
| error_log /var/log/nginx.error_log warn; | |||
| # no logging for 3XX | |||
| map \$status \$loggable { | |||
| ~^[3] 0; | |||
| default 1; | |||
| } | |||
| # send headers in one piece, it is better than sending them one by one | |||
| tcp_nopush on; | |||
| # don't buffer data sent, good for small data bursts in real time | |||
| tcp_nodelay on; | |||
| # caching | |||
| # optimizes serving static files from the file system | |||
| sendfile on; | |||
| # assets file, 1000 files for 30 seconds | |||
| open_file_cache max=200000 inactive=20s; | |||
| open_file_cache_valid 30s; | |||
| open_file_cache_min_uses 2; | |||
| open_file_cache_errors on; | |||
| @endif | |||
| #buffer | |||
| client_body_buffer_size 128k; | |||
| client_max_body_size 250m; | |||
| client_header_buffer_size 1k; | |||
| large_client_header_buffers 4 4k; | |||
| output_buffers 1 32k; | |||
| postpone_output 1460; | |||
| # allow the server to close connection on non responding client, this will free up memory | |||
| reset_timedout_connection on; | |||
| # server will close connection after this time -- default 75 | |||
| keepalive_timeout 30; | |||
| client_header_timeout 3m; | |||
| client_body_timeout 10m; | |||
| send_timeout 3m; | |||
| # compress files, but not on older version of IE | |||
| gzip on; | |||
| gzip_min_length 1000; | |||
| gzip_vary on; | |||
| gzip_proxied expired no-cache no-store private auth; | |||
| gzip_disable "MSIE [1-6]\."; | |||
| gzip_types | |||
| application/x-javascript | |||
| text/css | |||
| application/javascript | |||
| text/javascript | |||
| text/plain | |||
| text/xml | |||
| application/json | |||
| application/vnd.ms-fontobject | |||
| application/x-font-opentype | |||
| application/x-font-truetype | |||
| application/x-font-ttf | |||
| application/xml | |||
| font/eot | |||
| font/opentype | |||
| font/otf | |||
| image/svg+xml | |||
| image/vnd.microsoft.icon; | |||
| # includes | |||
| include /etc/nginx/conf.d/*.conf; | |||
| include /etc/nginx/sites-enabled/*.conf; | |||
| include /etc/nginx/mime.types; | |||
| } | |||