Назад | Перейти на главную страницу

Не удается запустить haproxy

Используя ubuntu в качестве моего сервера, я пытаюсь настроить балансировку нагрузки с помощью HAProxy.

Когда я пытаюсь запустить с помощью "haproxy -f haproxy.cfg", я получаю эту ошибку.

[ПРЕДУПРЕЖДЕНИЕ] 035/115820 (1148): [haproxy.main ()] Невозможно поднять лимит FD до 8224. [ПРЕДУПРЕЖДЕНИЕ] 035/115820 (1148): Запуск веб-службы прокси: невозможно привязать сокет

Я думал, что освобождение порта 80 может решить проблему, поэтому я удалил apache2, который мог использовать порт 80. Но безуспешно все еще не решил мою проблему. Итак, как я могу убить приложение, использующее порт 80?

мой haproxy.cfg

    # this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        #chroot /usr/share/haproxy
        user haproxy
        group haproxy
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000


listen webservice 192.168.1.120:80
        mode http
        stats enable
        stats refresh 10s
        stats hide-version
        cookie GALAXY insert
        balance roundrobin
        option httpclose
        option httpchk OPTIONS /health_check.html
        option forwardfor
        server RONAHPC 192.168.1.7:80 cookie GALAXY_SERVER_01 check
        server MAANPC 192.168.101:80 cookie GALAXY_SERVER_02 check

заставил его работать, исправив общедоступный ip для моего сервера. Оказывается, я использую IP-адрес, который не является IP-адресом сервера, на котором в настоящее время установлен балансировщик нагрузки.

исправление этой строки решило мою проблему

слушать веб-сервис 192.168.1.120:80

У меня была та же проблема, что и у @ tom-angelo-clemente, но я решил ее, используя широковещательный адрес в параметре привязки внешнего интерфейса:

frontend wfe
   bind 0.0.0.0:80

Это свяжет прокси-сервер с любым IP-адресом, который использует машина (не уверен в адресах на разных сетевых устройствах), поэтому будьте осторожны при использовании этого способа, если у вас есть частный интерфейс управления и адрес, к которому вы не хотите привязываться.

netstat -anop | grep ":80"

Это должно показать вам, что слушает этот порт. Пример:

 ~]# netstat -anop | grep ":80"
tcp        0      0 :::80                       :::*                        LISTEN      15566/httpd         off (0.00/0/0)

Вы также можете использовать: lsof -Pni | grep ": 80"

Пример:

~]# lsof -Pni | grep ":80"
httpd     15566 apache    4u  IPv6  6247436      0t0  TCP *:80 (LISTEN)
httpd     19069   root    4u  IPv6  6247436      0t0  TCP *:80 (LISTEN)