本文共 2990 字,大约阅读时间需要 9 分钟。
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理,可以运行于大部分主流的Linux操作系统上。
本次实验使用三台服务器搭建Web群集,Haproxy作为调度服务器,两台Nginx服务器作为节点服务器。主机 | 系统 | IP地址 | 只要软件
主机 | 系统 | IP地址 | 主要软件 |
---|---|---|---|
haproxy服务器 | CentOS-7-x86_64 | 192.168.100.101 | haproxy |
Nginx 服务器 | CentOS-7-x86_64 | 192.168.100.102 | nginx |
Nginx服务器 | CentOS-7-x86_64 | 192.168.100.103 | nginx |
客户端 | Windows | 192.168.100.100 | IE浏览器 |
安装nginxf服务器
yum -y install pcre-devel zlib-devel gcc gcc-c++ make -yuseradd -M -s /sbin/nologin nginx //为其创建管理用户tar zxvf nginx-1.12.0.tar.gz -C /opt/ //解压./configure \--prefix=/usr/local/nginx \ //安装路径--user=nginx \ //指定管理用户--group=nginx //为其编译 //指定管理组make && make install //安装 cd /usr/local/nginx/html/ //存放首页路径vim index.html //修改它也行从新生成一个也可也echo "this is nginx 1!!" > tast.html //但访问的是后面要加tast如 http://127.0.0.1/tastln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建软连接,方便管理nginx -t //检查配置文件是否正确 nginx //启动服务netstat -ntap | grep 80 //查看服务是否正确开启关闭防火墙systemctl disable firewalld.service systemctl stop firewalld.servicesetenforce 0
自测 两台同要的同样的配置
调度服务器配置
yum -y install pcre-devel bzip2-devel gcc gcc-c++ make tar zxf haproxy-1.5.19.tar.gzcd haproxy-1.5.19/make TARGET=linux26 //安装64位系统make install
配置haproxy服务器
mkdir /etc/haproxycp haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/haproxy.cfg cd /etc/haproxy/vim haproxy.cfg //修改其配置文件global log 127.0.0.1 local0 // 日志格式 和系统日志保存在一起 log 127.0.0.1 local1 notice //notice 日志级别 #log loghost local0 info maxconn 4096 //最大链接数 chroot /usr/share/haproxy //删除 uid 99 gid 99 daemon #debug #quietdefaults log global mode http option httplog //写的日志文件格式安装httpd 的格式写 option dontlognull retries 3 //尝试次数 3次 如果链接不上就认为不可用 redispatch //删除 maxconn 2000 contimeout 5000 //最大链接 clitimeout 50000 srvtimeout 50000 //超时将listen部分修改为以下内容listen webcluster 0.0.0.0:80 //指定节点服务 option httpchk GET /test.html //GET 提交方式 访问时候后面加test.html balance roundrobin server inst1 192.168.100.102:80 check inter 2000 fall 3 server inst2 192.168.100.103:80 check inter 2000 fall 3cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy //启动脚本service haproxy start //启动服务然后就可以访问 多次涮新,nginx1和nginx2网页轮换显示。
haproxy的日志优化
vim /etc/haproxy/haproxy.cfg log /dev/log local0 info //信息提示个告警分离开log /dev/log local0 notice // 删除原有的 替换service haproxy restart
touch /etc/rsyslog.d/haproxy.conf
vim /etc/rsyslog.d/haproxy.conf //插入下面的话
if ($programname == 'haproxy' and $syslogseverity-text == 'info') //更具类型 形似 进行离
then -/var/log/haproxy/haproxy-info.log&~if ($programname == 'haproxy' and $syslogseverity-text == 'notice')then -/var/log/haproxy/haproxy-notice.log&~systemctl restart rsyslog.service
转载于:https://blog.51cto.com/13660858/2132211