Оптимизация Nginx на VPS: производительность и кэш

VDS / VPS серверы · 19.04.2026
Оптимизация Nginx на VPS: производительность и кэш

Nginx из коробки работает хорошо, но не оптимально. Несколько изменений в конфигурации кратно увеличивают производительность и снижают нагрузку на сервер.

nginx.conf: базовые настройки

worker_processes auto;          # Авто = количество CPU ядер
worker_rlimit_nofile 65535;    # Макс. открытых файлов

events {
    worker_connections 4096;   # Подключений на worker
    use epoll;                  # Linux-оптимизированный poll
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens off;          # Скрыть версию Nginx
}

Gzip-сжатие

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types
    text/plain text/css text/javascript
    application/javascript application/json
    application/xml image/svg+xml;

Browser Caching

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
    access_log off;
}

FastCGI Cache для PHP

# В http блоке:
fastcgi_cache_path /var/cache/nginx levels=1:2 
    keys_zone=WORDPRESS:100m 
    inactive=60m max_size=1g;

# В server блоке:
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 301 302 60m;
fastcgi_cache_use_stale error timeout updating http_500;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
✅ FastCGI Cache для WordPress снижает TTFB с 300–500 мс до 5–20 мс для кэшированных страниц.

Rate Limiting (защита от флуда)

# В http блоке:
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

# В location:
location /wp-login.php {
    limit_req zone=api burst=5 nodelay;
    limit_req_status 429;
}

HTTP/2 и HTTP/3

server {
    listen 443 ssl http2;
    # HTTP/3 (QUIC):
    listen 443 quic reuseport;
    add_header Alt-Svc 'h3=":443"; ma=86400';
}
← Назад в базу знаний Задать вопрос поддержке