Wiki
Web / стек

Nginx — что это простыми словами

Nginx — самый популярный веб-сервер и reverse-proxy. Обслуживает статику, балансирует нагрузку, терминирует SSL. Использует ~40 % сайтов интернета.

Nginx (произносится "engine-x") — веб-сервер, обратный прокси и балансировщик нагрузки. Создан в 2004 Игорем Сысоевым (Россия) для решения проблемы C10k (одновременное обслуживание 10 000+ соединений). Отличается event-driven архитектурой — одна worker-процесс обрабатывает тысячи соединений в неблокирующем режиме, в отличие от Apache (thread-per-request).

Основные задачи: (1) статический контент (HTML, CSS, JS, images) — nginx отдаёт их в разы быстрее Apache или Node.js, (2) reverse-proxy к backend (Node.js, Python, Go, PHP-FPM), (3) SSL termination — расшифровка HTTPS и передача незашифрованного HTTP приложению, (4) балансировка нагрузки между несколькими бэкендами, (5) кэширование — nginx-cache для CDN-функций.

На нашем VPS nginx устанавливается через apt install nginx за 60 секунд. Готовые cloud-init шаблоны с nginx + Let's Encrypt SSL + WordPress / Next.js — доступны при создании. По статистике Netcraft, nginx обслуживает ~40 % всех сайтов в интернете.

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

Nginx или Apache — что выбрать?
Nginx для новых проектов почти всегда. Apache — если вам нужен .htaccess для legacy-PHP-приложения или mod_php.
Как сделать SSL с Let's Encrypt?
apt install certbot python3-certbot-nginx → certbot --nginx -d example.com. Автообновление через systemd-timer раз в 60 дней.