Não é possível iniciar o haproxy

2

Usando o Ubuntu como meu servidor, estou tentando configurar o balanceamento de carga usando o HAProxy.

Quando tento executar usando "haproxy -f haproxy.cfg", recebo este erro.

[WARNING] 035/115820 (1148) : [haproxy.main()] Cannot raise FD limit to 8224. [ALERT] 035/115820 (1148) : Starting proxy webservice: cannot bind socket

Eu pensei que liberar o port80 poderia resolver o problema, então eu desinstalei o apache2 que pode estar usando o port80. Mas sem sucesso ainda não resolveu o meu problema. Então, como posso matar um aplicativo que usa a porta 80?

meu 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
    
por Tom Angelo Clemente 05.02.2012 / 05:06

3 respostas

2
netstat -anop | grep ":80"

Isso deve mostrar o que você está escutando nessa porta. Ex:

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

Você também pode usar:     lsof -Pni | grep ": 80"

Ex:

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

funcionou corrigindo o ip público do meu servidor. Acontece que estou usando um endereço IP que não é o endereço IP do servidor que possui o balanceador de carga instalado no momento.

consertar essa linha resolveu meu problema

listen webservice 192.168.1.120:80

    
por 21.02.2012 / 11:48
2

Eu tive o mesmo problema que @ tom-angelo-clemente, mas resolvi usando o endereço de broadcast no parâmetro bind de um frontend:

frontend wfe
   bind 0.0.0.0:80

Isso vinculará o proxy a qualquer endereço IP que a máquina esteja usando (não tem certeza sobre endereços em diferentes dispositivos NIC), portanto, tenha cuidado ao usar dessa maneira se tiver uma interface de gerenciamento privada e endereço que não deseja vincular para.

    
por 09.12.2014 / 15:25