千家信息网

46.Haproxy反向代理

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Haproxy反向代理haproxy的作用:反向代理服务器,当公网用户来访问web服务器时,由haproxy服务器来指定交给那个web服务器处理,以实现高可用性和群集的负载均衡。案例实施步骤:v 编译
千家信息网最后更新 2025年12月03日46.Haproxy反向代理

Haproxy反向代理

haproxy的作用:反向代理服务器,当公网用户来访问web服务器时,由haproxy服务器来指定交给那个web服务器处理,以实现高可用性和群集的负载均衡。

案例实施步骤:

v 编译安装niginx服务器

# yum -y install pcre-devel zlib-devel

# useradd -M -s /sbin/nologin nginx

# tar xzvf nginx-1.6.0.tar.gz

# cd nginx-1.6.0

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

#make && make install

# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

#nginx

#netstat -lnupt |grep :80

#echo 1111 > /usr/local/nginx/html/index.html

v 编译安装haproxy服务器

#yum -y install pcre-devel bzip2-devel

#tar xzvf haproxy-1.4.24.tar.gz

#cd haproxy-1.4.24

#make TARGET=linux26 PREFIX=/usr/local/haproxy

#make install PREFIX=/usr/local/haproxy

#cp examples/haproxy.cfg /etc

v 重启服务

#/usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg

v Haproxy服务器配置

#vim /etc/haproxy.cfg

修改内容:

Global

Log 127.0.0.1 local0 配置日志记录,local0为日志设备

Log127.0.0.1 local1 notice notice为日志级别,通常有24个级别

#log loghostlocal10 info

Maxconn 4096 最大连接数

Uid 99 用户uid

Gid 99 用户gid

Daemon 用户

#debug

#quiet

Defaults

Log global 定义日志为全局配置中的日志

Modehttp 模式为http

Option httplog 采用http日志格式记录日志

Option dontlognull

Retries 3 检查节点服务器失败次数

Maxconn 2000 最大连接数

Contimeout 5000 连接超时时间

Clitimeout 50000 客户端超时时间

Srvtimeout 50000 服务器超时时间

Listen webcluster 0.0.0.0:80 定义一个应用

Option httpchk GET /index.html 检查服务器的index.html文件

Balance roundrobin 负载均衡调度算法使用轮询算法rr

Server inst1 1.1.1.1:80 check inter 2000 fall 3 定义在线节点

Server inst2 1.1.1.2:80 check inter 2000 fall 3 定义备份节点

v haproxy日志自定义位置

#vim /etc/haproxy.cfg

修改内容:

Log /dev/log local0 info

Log /dev/log local0 notice

#touch /etc/rsyslog.d/haproxy.conf

#vim /etc/rsyslog.d/haproxy.conf

添加内容:

If ($programname == 'haproxy' and $syslogserverity-text == 'info') then -/var/log/haproxy/haproxy-info.log & ~

If ($programname == 'haproxy' and $syslogserverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log & ~

#/usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg

注:haproxy的日志默认是输出到系统的syslog中。


0