为什么HAProxy不会在端口80上侦听?

时间:2011-03-26 22:13:23

标签: linux configuration bind load-balancing haproxy

新机器,没有运行http服务器(没有httpd,没有lighttpd,没有nginx)

$ netstat -nat | grep 80 | grep LISTEN

什么都不产生......

这是我的HAProxy conf,这可能是HAProxy不能

的原因
global
        maxconn 72000
        daemon

defaults
        mode    http
        timeout connect 4000ms
        timeout client 60000ms
        timeout server 30000ms


frontend my_frontend
         bind *:80
         default_backend cdn

backend cdn
       server cdn1 10.177.0.17:80 weight 1 maxconn 8192 check
       server cdn2 10.177.1.92:80 weight 1 maxconn 8192 check
       server cdn3 10.177.1.147:80 weight 1 maxconn 8192 check
       server cdn4 10.177.1.202:80 weight 1 maxconn 8192 check

       server cdn4 10.177.1.202:80 weight 1 maxconn 8192 check
       server cdn5 10.177.1.211:80 weight 1 maxconn 8192 check
       server cdn6 10.177.1.93:80 weight 1 maxconn 8192 check
       server cdn7 10.177.1.230:80 weight 1 maxconn 8192 check
       server cdn8 10.177.0.7:80 weight 1 maxconn 8192 check
       server cdn9 10.177.0.196:80 weight 1 maxconn 8192 check
       server cdn10 10.177.1.82:80 weight 1 maxconn 8192 check
       server cdn11 10.177.0.124:80 weight 1 maxconn 8192 check
       server cdn12 10.177.1.142:80 weight 1 maxconn 8192 check
       server cdn13 10.177.1.58:80 weight 1 maxconn 8192 check
       server cdn14 10.177.1.137:80 weight 1 maxconn 8192 check
       server cdn15 10.177.1.169:80 weight 1 maxconn 8192 check
       server cdn16 10.177.0.187:80 weight 1 maxconn 8192 check
       server cdn17 10.177.1.95:80 weight 1 maxconn 8192 check
       server cdn18 10.177.1.123:80 weight 1 maxconn 8192 check

从源代码运行haproxy-1.4.13。

当我尝试启动时,我收到此错误

[ALERT] 084/220004 (2409) : Starting frontend my_frontend: cannot bind socket

3 个答案:

答案 0 :(得分:4)

添加名为user

的全局配置参数
user nobody

或一些不太特权的用户。仍然需要以root身份启动,但在获取端口进程本身后会将用户/权限减少到无人。

答案 1 :(得分:1)

所以我尝试用root用户启动haproxy并且它工作正常。 我不确定在root下运行它是不是一个好主意。

答案 2 :(得分:-1)

haproxy可以在其他用户下运行。比如没有..