Бинарник пытается забиндить порт 80, но он уже занят nginx. Как запустить этот бинарник?

Порт 80 — это привилегированный порт, и если он уже занят nginx, то запустить другой бинарник, который пытается забиндить этот же порт, напрямую не получится.

Короткий ответ

Что ответить на собеседовании

Порт 80 — это привилегированный порт, и если он уже занят nginx, то запустить другой бинарник, который пытается забиндить этот же порт, напрямую не получится.

Подробный разбор

Ответ с пояснениями

Порт 80 — это привилегированный порт, и если он уже занят nginx, то запустить другой бинарник, который пытается забиндить этот же порт, напрямую не получится.

Варианты решения:

  1. Изменить порт у бинарника — если возможно, запустить его на другом порту, например 8080.
  2. Перенастроить nginx — сделать nginx прокси, который будет слушать 80 порт и проксировать запросы на порт, где работает бинарник.
  3. Остановить nginx — если nginx не нужен, остановить его, чтобы освободить порт.
  4. Использовать iptables или firewall для перенаправления портов — например, перенаправить трафик с 80 порта на порт бинарника.
  5. Запуск бинарника с правами root (если он требует привилегий для bind на 80) — но это не решит проблему, если порт уже занят.

Пример перенастройки nginx для проксирования:

server {
    listen 80;
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Таким образом, nginx слушает 80 порт, а бинарник — 8080, и nginx проксирует запросы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее