Set worker_processes auto (one per CPU core) and worker_connections 2048 in nginx.conf. Total max clients = worker_processes × worker_connections. On a t2.micro with 1 vCPU, you get 1 worker × 2048 = 2048 concurrent connections.
How do I configure Nginx worker processes and connections?
More FAQs in Nginx Performance Tuning for Node.js Worker Processes, Caching, and Compression
Set gzip on, gzip_comp_level 6, gzip_min_length 1000, gzip_types for text-based MIME types (text/plain, text/css, application/json, application/javascript). Add gzip_vary on for the Vary header. This reduces bandwidth by 60-80%.
Add a location block matching static file extensions (js, css, png, jpg, etc.) with expires 1y, add_header Cache-Control 'public, immutable', and access_log off. Hashed file names from build tools ensure new versions get new URLs.
Define limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s in the http block. Then add limit_req zone=req_limit burst=20 nodelay in the location block. This allows 10 requests per second per IP with a burst of 20.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.