Nginx — что это и зачем, базовая настройка | Глоссарий FREEHOSTING

Nginx

Nginx Web Server
Nginx — Nginx — лёгкий и быстрый веб-сервер и обратный прокси, который держит большую часть высоконагруженных сайтов в мире. Один процесс обрабатывает десятки тысяч соединений почти без памяти.

Определение простыми словами

Nginx («энджин-икс») — программа, которая принимает HTTP-запросы от браузеров и решает, что с ними делать: отдать статический файл с диска, проксировать на PHP/Node.js/Python, балансировать между серверами или вернуть страницу из кэша.

Главное отличие от старых веб-серверов вроде Apache — асинхронная архитектура. Один воркер на одном ядре CPU держит до 10 000 одновременных соединений, потребляя 50–100 МБ памяти. Поэтому Nginx стоит перед WordPress, Bitrix, нагруженными API.

Сравнение с альтернативами

Параметр Nginx Apache Caddy
Модель Event-driven (async) Process-per-request Event-driven
Расход памяти 2–10 МБ на воркер 10–50 МБ на процесс 5–15 МБ
SSL «из коробки» Ручная настройка Ручная настройка Автоматический Let’s Encrypt
.htaccess Нет Да Нет
Применение Reverse proxy, статика, SPA Старый shared-хостинг Простые сайты, dev

Кейсы использования

  • Reverse proxy перед PHP-FPM — стандартная связка для WordPress и Bitrix.
  • Раздача статики SPA — React/Vue билдится в html+js, Nginx отдаёт его с gzip и кэшем.
  • SSL-терминатор — расшифровка HTTPS на Nginx, бэкенд работает по HTTP внутри.
  • Балансировка нагрузки — round-robin или least_conn между несколькими бэкендами.
  • Когда Nginx НЕ нужен: для одного небольшого сайта на shared-хостинге пользователь к Nginx даже не прикасается — там уже всё настроено.

Технические детали

Минимальный конфиг для статического сайта или проксирования:

server {
    listen 443 ssl http2;
    server_name example.com;
    root /var/www/example.com;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ .php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        include fastcgi_params;
    }
}
# Проверка конфига и перезапуск
nginx -t && systemctl reload nginx

Поддерживает HTTP/2 с 2015 года, HTTP/3 (QUIC) с версии 1.25. Стандартный лог-формат разбирается GoAccess, Awstats и любым ELK. Для продакшена включают gzip, openssl ciphers ECDHE+AES256, и hsts. Часто стоит на VPS с 1 ГБ RAM и держит 1000+ rps.

Частые вопросы

Nginx или Apache — что лучше?

Для нового проекта почти всегда Nginx: меньше памяти, выше пропускная способность, проще конфиг. Apache держат ради совместимости с .htaccess на старых shared-хостингах.

Можно ли запускать PHP без Apache, только на Nginx?

Да. Nginx работает с PHP через FastCGI и сокет PHP-FPM. Это стандартная схема для всех современных хостингов.

Сколько RPS держит Nginx на одном vCPU?

Для статики — 10 000–30 000 rps на ядро. Для проксирования с PHP — упирается в скорость бэкенда, обычно 100–500 rps на ядро.

Чем плох Nginx Plus и нужна ли коммерческая версия?

Nginx Plus добавляет dynamic config, расширенный мониторинг и поддержку. 95% задач закрывает бесплатный open source — Plus берут крупные корпорации.