UnderHost
Knowledgebase Docs

Nginx Optimization in CloudPanel: Faster Page Loads

Optimize Nginx in CloudPanel. Compression, caching, worker tuning, HTTP/2, SSL optimization, buffer settings, load balancing, performance testing.

On this page

Nginx is a high-performance web server that's faster than Apache. Proper tuning can 2-3x your site speed. CloudPanel simplifies optimization: enable compression, caching, HTTP/2, and tune worker processes. Most optimizations require zero coding—just configuration.

Nginx Basics

Why Nginx is fast:**

  • Lightweight: Uses 10MB RAM vs 100MB+ for Apache
  • Asynchronous: Handles 10,000+ concurrent connections
  • Modern: Built with performance in mind (not legacy code)
  • Efficient: Minimal CPU usage even under load

Enable Compression (Gzip)

Compression reduces file size by 70-80%:**

  • HTML: 50KB → 10KB (5x smaller)
  • CSS: 30KB → 5KB (6x smaller)
  • JavaScript: 100KB → 20KB (5x smaller)
  • JSON API: 100KB → 15KB (6.7x smaller)

Enable in CloudPanel:**

  1. CloudPanel → Websites → [Your Domain]
  2. Click "Nginx" → "Optimization"
  3. Enable "Gzip Compression"
  4. Compression level: 6 (good balance: speed vs ratio)
  5. Save

Or manually in /etc/nginx/conf.d/website.conf:**

gzip on;
gzip_min_length 1000;           # Don't compress files < 1KB
gzip_types text/plain text/css application/json application/javascript text/xml;
gzip_level 6;                   # Compression level (1-9, 6 = default)
gzip_vary on;                   # Add Vary header for caches

Browser Caching

Tell browsers to cache static files (images, CSS, JS):**

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;                # Cache for 30 days
    add_header Cache-Control "public, immutable";
}

# HTML pages (shorter expiration)
location ~* \.html$ {
    expires 1h;                 # Cache for 1 hour
    add_header Cache-Control "public";
}

Result:**

  • First visit: Normal load time (browser fetches all files)
  • Repeat visits: 5-10x faster (files loaded from browser cache)
  • Server load: Reduced by 50-70%

Worker Tuning

Nginx workers handle concurrent requests:**

Find optimal worker count:**

# Count CPU cores
nproc
# Output: 4 (for 4-core processor)

# Edit /etc/nginx/nginx.conf
worker_processes 4;            # Match CPU core count
worker_connections 2048;       # Connections per worker
worker_rlimit_nofile 65535;   # File descriptor limit

Recommendations:**

  • Small VPS (1-2 cores): worker_processes 2
  • Medium VPS (4 cores): worker_processes 4
  • Large VPS (8+ cores): worker_processes auto (Nginx detects cores)

HTTP/2 & Protocols

HTTP/2 is 30-50% faster than HTTP/1.1:**

  • Multiplexing: Multiple requests over single connection
  • Header compression: Reduces overhead
  • Server push: Send resources proactively

Enable HTTP/2 in CloudPanel:**

  1. CloudPanel → Websites → [Domain]
  2. Click "SSL"
  3. Check "Enable HTTP/2"
  4. Save

Or manually in nginx.conf:**

listen 443 ssl http2;           # HTTP/2 on HTTPS
listen [::]:443 ssl http2;     # IPv6

SSL Optimization

Optimize HTTPS handshake (TLS 1.3 is fastest):**

# In nginx.conf
ssl_protocols TLSv1.3 TLSv1.2;        # Modern protocols
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

# Session reuse (dramatically faster repeat connections)
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets on;

OCSP stapling (avoid external certificate checks):**

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;

Buffer Optimization

Tune buffer sizes for better performance:**

# In http block of nginx.conf
client_body_buffer_size 1M;             # Upload buffer
client_max_body_size 100M;              # Max upload size
client_header_buffer_size 1k;
large_client_header_buffers 4 16k;

# Proxy buffers (for reverse proxy)
proxy_buffer_size 32k;
proxy_buffers 8 32k;
proxy_busy_buffers_size 64k;

Performance Testing

Measure your improvements:**

Tool 1: Google PageSpeed Insights**

1. Visit: https://pagespeed.web.dev/
2. Enter your domain
3. Get score and recommendations
4. Before: 45 points
5. After optimization: 85+ points

Tool 2: GTmetrix**

1. Visit: https://gtmetrix.com/
2. Enter your domain
3. See waterfall chart
4. Identify slow requests

Tool 3: Apache Bench (CLI)**

# Test 1000 requests, 100 concurrent
ab -n 1000 -c 100 https://yourdomain.com/

# Shows: Requests/sec, avg response time

Before/after testing:**

# Disable caching temporarily
ab -n 1000 -c 100 -H "Pragma: no-cache" https://yourdomain.com/

# With caching
ab -n 1000 -c 100 https://yourdomain.com/

# Caching should be 10x+ faster
Nginx optimization is low-hanging fruit—huge impact, minimal effort

Compression alone can double your site speed. Combined with caching and worker tuning, 3-5x improvements are realistic. Test before/after with GTmetrix or PageSpeed Insights.

Related: Nginx optimization | Performance tuning | Caching strategies | HTTP protocols

Was this article helpful?

Need CloudPanel on a server?

Use CloudPanel on an UnderHost VPS or dedicated server for fast PHP app and WordPress hosting without a heavy panel stack.

Back to CloudPanel