새로운 Ubuntu 10.04 서버를 설치하고 루트로 로그인하여 apt-get을 사용하여 haproxy를 설치했습니다.
haproxy를 데몬으로 직접 실행할 수 있지만 /etc/init.d/haproxy start
아무 일도 일어나지 않으면 오류 메시지조차 없습니다.
netstat -a
내가 haproxy와 균형을 잡으려는 http 포트를 사용하고 있지 않음을 보여줍니다 …
아이디어?
편집하다
-
나는
apt-get install haproxy
이것이 결국 이것을 말한다.update-rc.d : 경고 : /etc/init.d/haproxy에 LSB 정보가 없습니다. update-rc.d : http://wiki.debian.org/LSBInitScripts 참조
-
/etc/default/haproxy
말한다ENABLED=1
에 대한 디버깅 출력 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:~#
답변
편집 /etc/default/haproxy
하고 그 ENABLED=1
안에 줄이 있는지 확인하십시오 .
기본값은 ENABLED = 0입니다. 이 작업은 haproxy에 정상적인 기본 구성이 없으므로 먼저 구성한 다음 활성화해야합니다.
답변
“테스트”행이 항상 실패하여 ENABLED 설정이 효과가없는 동일한 문제가있었습니다. 이유를 찾았습니다 : /etc/default/haproxy
init 스크립트 대신 편집해야합니다 .
답변
나는 이것을 1 년 된 실로 알고있다. 그러나 나는 단지 내가 배운 것을 공유하려고 노력한다 ..
/etc/init.d/haproxy reload
또는 사용 service haproxy reload
하면 다시로드됩니다 .. 결국 우리는 바로 시작하고 싶습니다.)
답변
비슷한 문제가 있습니다. 이미 ENABLED = 1을 설정했지만 기본 update-rc.d 구성은 haproxy를 K20 (rc0 | 1 | 6.d) 및 S20 (rc2 | 3 | 4 | 5.d)에 배치하는 것으로 보입니다. 이것은 네트워킹 전에 시작하려고 시도한다는 것을 의미하므로 내 경우에는 이것을 boot.log에 얻습니다.
* haproxy haproxy 시작 [ALERT] 346/160552 (927) : 프록시 haproxy 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [ALERT] 346/160552 (927) : 프록시 프록시 시작 : 소켓을 바인딩 할 수 없습니다 [실패]
시작 번호를 35로 변경하면 문제가 해결되는 것처럼 보이지만 36은 더 안전하다고 생각합니다 (네트워킹의 이전 숫자는 35이므로 그 후에 시작하는 것이 가장 좋습니다). 그래서 시도하십시오 :-
update-rc.d -f haproxy 제거 update-rc.d haproxy start 35 2 3 4 5. 20 0 6 중지하십시오.
그런 다음 재부팅하면 정렬됩니다. 패키지 관리자는 실제로 이것을 생각해야합니다.
답변
우분투 유지 관리 패키지를 처음 설치 한 후 (필요한 기능을 지원하지 않는 버전을 실현 한 후) 최신 버전의 haproxy를 설치 한 후에도 동일한 문제가 발생했습니다. 실제로 내 실행 파일이 / usr / local / sbin / haproxy에있을 때 내가 끝내는 init.d 스크립트는 / usr / sbin / haproxy를 가리 켰습니다. 앞에서 언급 한 디버그 출력 “sh -xv /etc/init.d/haproxy start”는이 문제를 매우 분명하게 만들었습니다.
답변
루트 또는 sudo로 시작하려고 했습니까? 당신이 나와 같다면, 때로는 명령 앞에 sudo를 추가하는 것을 잊어 버립니다. sudo없이 모든 명령을 시도했지만 설명대로 실패했습니다. 그러나 sudo가 haproxy.cfg
설치 의 기본 파일을 사용하여 앞에 있으면 이제 문제없이 실행됩니다. 올바른 구성으로도 sudo 없이는 가지 않을 것이라고 생각했습니다.
답변
방금 lucid의 haproxy init.d 스크립트와 동일한 문제가 발생했습니다. 나는 haproxy를 시작할 수 없었기 때문에 그것을 찾아서 /etc/init.d/haproxy 스크립트에서 ENABLED 변수를 변경해야한다는 것을 알았습니다.
그러나이 변수를 변경해도 전혀 도움이되지 않는 이유는 다음과 같습니다. /etc/init.d/haproxy에서 몇 줄 아래로 ENABLED 변수가 다음 줄로 스크립트에 의해 검사됩니다. test “$ ENABLED”! = “0” || 종료 0.이 테스트는 항상 내 시스템에서 실패한다는 것을 알았습니다. 따라서 나머지 스크립트는 실행되지 않습니다.
왜이 테스트 라인이 제대로 작동하지 않는지 잘 모르겠습니다. 그러나 우리는 어쨌든 haproxy를 사용하기를 원하기 때문에 왜 귀찮게 검사합니까? …이 테스트 라인을 주석 처리하면 나에게 도움이되었습니다.
이것이 누군가를 돕기를 바랍니다.