Что такое Nginx

Ответ

Nginx — это высокопроизводительный HTTP-сервер и обратный прокси-сервер с открытым исходным кодом. Он часто используется для балансировки нагрузки, кеширования, обслуживания статических файлов и как прокси для Node.js или других бэкенд-серверов.

Ключевые особенности:

  • Асинхронная архитектура (обрабатывает множество соединений с малым потреблением ресурсов)
  • Поддержка HTTPS, HTTP/2, WebSocket
  • Гибкость конфигурации через nginx.conf

Пример конфигурации для статики и прокси:

server {
    listen 80;
    server_name example.com;

    location / {
        root /var/www/html;
        try_files $uri /index.html;
    }

    location /api/ {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
    }
}

Nginx часто используют в связке с Docker, Kubernetes или как фронтенд для Node.js-приложений.

Ответ 18+ 🔞

А, слушай, про Nginx, да? Ну это ж, блядь, такая штука, типа сервер-зверь, только в конфигах живёт. Представь себе здоровенного мужика на входе в клуб, который решает: кого пустить сразу к стойке (это статика), а кого отправить в дальний тёмный уголок к бармену-задроту (это твой Node.js бэкенд). И всё это — без единой потёвшей майки, нахуй! Асинхронно, блядь!

Чем он, сука, так хорош:

  • Работает как та самая мартышлюшка на кофеине: тысячу соединений влопал, а ресурсов — как будто и не жрал. Архитектура у него — просто ёперный театр эффективности.
  • Всё современное поцреотит: HTTPS, HTTP/2, WebSocket'ы — хуй с горы, всё потянет.
  • А конфигурация, блядь... Всё через один файл nginx.conf. Открыл, поправил — и волнение ебать, как быстро всё завелось.

Вот смотри, как это примерно выглядит, простой пример:

server {
    listen 80; # Слушай, порт 80, обычный HTTP
    server_name example.com; # За этим именем следи

    location / { # Вот сюда, на главную, народ идёт
        root /var/www/html; # А мы им — раз! — статику из папки
        try_files $uri /index.html; # Не нашёл файл? На, получай index.html, и не ной.
    }

    location /api/ { # А вот если путь на /api/ начинается...
        proxy_pass http://localhost:3000; # Ёбта, это не ко мне! Вали на localhost:3000, к твоему Node.js-приложению.
        proxy_set_header Host $host; # И шапку, блядь, не забудь передать, а то там обидятся.
    }
}

Его, этого зверя, везде пихают: в Docker'е крутят, в Kubernetes'е ордами запускают, а чаще всего — ставят спереди от твоего Node.js-приложения, чтобы тот не сдох под первым же набегом пидаров с запросами. Короче, вещь, блядь!