Instalei um novo servidor Ubuntu 10.04 e, como root, instalei o haproxy usando o apt-get.
Posso executar haproxy diretamente como um daemon, mas quando não faço /etc/init.d/haproxy start
nada acontece .. nem mesmo uma mensagem de erro.
netstat -a
mostra que nada está usando a porta http que estou tentando equilibrar com haproxy ...
Idéias?
Editar
Notei que
apt-get install haproxy
diz isso no final:update-rc.d: aviso: /etc/init.d/haproxy informações ausentes do LSB update-rc.d: consulte http://wiki.debian.org/LSBInitScripts
/etc/default/haproxy
dizENABLED=1
Saída de depuração para sh -xv /etc/init.d/haproxy start
#!/bin/sh
#
# chkconfig: - 85 15
# description: HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited \
# for high availability environments.
# processname: haproxy
# config: /etc/haproxy.cfg
# pidfile: /var/run/haproxy.pid
# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
+ [ -f /etc/init.d/functions ]
+ [ -f /etc/rc.d/init.d/functions ]
+ exit 0
root@li267-63:~#
Respostas:
Edite
/etc/default/haproxy
e verifique se há uma linha que dizENABLED=1
isso.O padrão é ENABLED = 0. Isso é feito porque o haproxy não possui uma configuração padrão sã; portanto, é necessário primeiro configurá-lo e ativá-lo.
fonte
Eu tive o mesmo problema, em que a configuração ENABLED não teve efeito devido à falha na linha "teste". Encontrou o motivo: você precisa editar em
/etc/default/haproxy
vez do script init.fonte
Eu sei que isso é um tópico de um ano .. mas apenas tentando compartilhar o que aprendi ..
use
/etc/init.d/haproxy reload
orservice haproxy reload
e ele será recarregado bem .. afinal, nós apenas queremos que comece corretamente;)fonte
Eu tenho um problema similar. Eu já defini ENABLED = 1, mas a configuração padrão update-rc.d parece colocar o haproxy no K20 (rc0 | 1 | 6.d) e no S20 (rc2 | 3 | 4 | 5.d). O que significa que ele tentará iniciar antes da rede, portanto, no meu caso, recebo isso no boot.log: -
alterar o número de inicialização para 35 parece corrigi-lo, mas acho que 36 seria mais seguro (o número antigo para a rede era 35, então é melhor começar depois disso). Então tente:-
Em seguida, reinicie e deve classificá-lo. Os mantenedores de pacotes realmente deveriam ter pensado nisso.
fonte
Corri para esse mesmo problema depois de instalar o pacote mantido pelo ubuntu e depois (depois de perceber que a versão não suportava o recurso que eu precisava). Instalar uma versão mais recente do haproxy para ppa. O script init.d que acabei apontando para / usr / sbin / haproxy quando na verdade meu executável estava em / usr / local / sbin / haproxy. a saída de depuração "sh -xv /etc/init.d/haproxy start" mencionada anteriormente tornou esse problema bastante óbvio.
fonte
Você tentou iniciá-lo como root ou com o sudo? Se você é como eu, às vezes esquece de adicionar sudo à frente dos comandos. Eu tentei todos os seus comandos sem o sudo e eles falharam como você descreveu. No entanto, com o sudo na frente deles, usando um
haproxy.cfg
arquivo padrão da instalação, ele está sendo executado sem problemas. Apenas pensei em apontar que, mesmo com as configurações corretas, para mim não ficará sem o sudo.fonte
Acabei de encontrar o mesmo problema com o script haproxy init.d no lucid. Eu simplesmente não consegui iniciar o haproxy, então procurei e descobri que era necessário alterar a variável ENABLED no script /etc/init.d/haproxy.
Alterar essa variável, no entanto, NÃO ajudou em nada e é por isso: Algumas linhas abaixo em /etc/init.d/haproxy, a variável ENABLED é verificada pelo script com a seguinte linha: test "$ ENABLED"! = "0" || saída 0. Notei que esse teste sempre falha no meu sistema, não importa qual seja o valor de ATIVADO. Portanto, o restante do script nunca é executado.
Devo admitir que realmente não sei por que essa linha de teste não funciona corretamente. Mas como queremos que o haproxy seja ativado de qualquer maneira, por que incomodar a verificação? ... Comentar essa linha de teste fez com que funcionasse para mim.
Espero que isso ajude alguém.
fonte
Eu também ficava olhando o scipt, não conseguia ver por que ele não estava funcionando, apesar do
ENABLED=1
definido no script de inicialização.Eventualmente, depois de olhar um pouco para baixo, você verá que o
/etc/default/haproxy-file
código é originado pouco antes da execução do teste, substituindo assim a variável de conjunto no próprio script init ...fonte
Encontrei o mesmo problema no azure com uma debian vm. Acontece que é bastante simples. O script init do haproxy usa dependências de tempo de execução. No sistema anterior, update-rc.d era o caminho a seguir, mas no sistema mais recente o insserv é usado: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
Portanto, se você usou o update-rc.d para adicionar o serviço haproxy em sistemas mais recentes, faça:
$ sudo update-rc.d -f remoção de haproxy
$ sudo insserv haproxy
fonte