Sobes.tech
Назад к вопросам
Senior
6

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

Компании, где спрашивали
VKVK

Ответ от нейросети

sobes.tech AI

Порт 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 проксирует запросы.