diff --git a/.dockerignore b/.dockerignore index f73b76d..1fc3508 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ .git/* .env +data # vendor folder will be filled from the container vendor diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index a32eba6..811236a 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -5,7 +5,8 @@ error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { - worker_connections 1024; + worker_connections 4096; + use epoll; } http { @@ -19,29 +20,58 @@ http { access_log /var/log/nginx/access.log main; sendfile on; - keepalive_timeout 10; + server_tokens off; + + keepalive_timeout 16; + connection_pool_size 4k; + request_pool_size 8k; + output_buffers 10 32k; + client_max_body_size 2m; + client_body_buffer_size 16k; + client_header_buffer_size 4k; + large_client_header_buffers 16 8k; fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=cache:128m inactive=600m use_temp_path=off; fastcgi_cache_key "$scheme$request_method$host$request_uri"; + # Gzip + gzip on; + gzip_comp_level 6; + gzip_min_length 4096; + gzip_proxied any; + gzip_vary on; + gzip_types text/plain + text/css + text/javascript + application/javascript + application/json + application/octet-stream + application/x-font-ttf + application/x-font-opentype + application/vnd.ms-fontobject + image/svg+xml + image/x-icon; + + # Brotli + brotli on; + brotli_comp_level 6; + brotli_min_length 4096; + brotli_types text/plain + text/css + text/javascript + application/javascript + application/json + application/octet-stream + application/x-font-ttf + application/x-font-opentype + application/vnd.ms-fontobject + image/svg+xml + image/x-icon; + map $uri $cache_duration { "~*^.+\.(jpe?g|gif|png|svg|js|json|css|zip|rar|eot|ttf|woff|woff2|ico|xml)$" "max"; default "off"; } - # Gzip - gzip on; - gzip_comp_level 6; - gzip_min_length 256; - gzip_proxied any; - gzip_vary on; - gzip_types *; - - # Brotli - brotli on; - brotli_comp_level 6; - brotli_min_length 256; - brotli_types *; - include /etc/nginx/conf.d/*.conf; }