Nginx для лендинга: 5 настроек, которые убирают лишнюю нагрузку
Если лендинг ловит всплески трафика, Nginx должен отдавать статику и резать лишнюю работу, а не «помогать» PHP пережимом CPU. Базовый набор: worker_processes auto; worker_connections 4096; use epoll; multi_accept on; — это снижает шанс упереться в лимит соединений раньше, чем в железо.
Включите keepalive_timeout 15; keepalive_requests 1000; и отдавайте css, js, картинки с долгим cache-control. Для статики: sendfile on; tcp_nopush on; tcp_nodelay on; — это убирает лишние копирования и сокращает задержку на мелких ответах. Сжатие держите умеренным: gzip on; gzip_types text/plain text/css application/javascript application/json; иначе CPU начнёт работать на упаковку мусора.
Если лендинг генерируется приложением, кэшируйте HTML на уровне Nginx через proxy_cache или fastcgi_cache. Даже короткий TTL снимает пиковую нагрузку на upstream и делает поведение предсказуемым. Для защиты от «медленных» клиентов ставьте client_body_timeout 10s; client_header_timeout 10s; send_timeout 15s; — это отсекает соединения, которые только занимают сокеты.
Проверьте лимиты ОС: somaxconn, file-max, ulimit -n, а также backlog в listen. Без этого Nginx можно настроить правильно, но упрётся в ядро. Стабильность — это отсутствие магии, только предсказуемая конфигурация. Разворачиваем, проверяем, мониторим.
Настройка серверов для маркетинга
@server_setup_guide_arb
Nginx для лендинга: 5 настроек, которые убирают лишнюю нагрузку
Этот пост опубликован в Telegram-канале Настройка серверов для маркетинга. Подписаться можно по ссылке: @server_setup_guide_arb.